Sharding-JDBC源碼解析與vivo的定製開發
作者:vivo IT 平台團隊 - Xiong Huanxin Sharding-JDBC是在JDBC層提供服務的數據庫中間件,在分庫分表場景具有廣泛應用。本文對Sharding-JDBC的解析、路由、改寫、執行、歸併五大核心引擎進行了源碼解析,並結合業務實踐經驗,總結了使用Sharding-JDBC的一些痛點問題並分享了對應的定製開發與改造方案。 本文源碼基於Sharding-JDBC 4.1.
作者:vivo IT 平台團隊 - Xiong Huanxin Sharding-JDBC是在JDBC層提供服務的數據庫中間件,在分庫分表場景具有廣泛應用。本文對Sharding-JDBC的解析、路由、改寫、執行、歸併五大核心引擎進行了源碼解析,並結合業務實踐經驗,總結了使用Sharding-JDBC的一些痛點問題並分享了對應的定製開發與改造方案。 本文源碼基於Sharding-JDBC 4.1.
作者:vivo 互聯網數據庫團隊-Qiu Xinbo 本文主要通過圖示介紹了用主鍵進行分片查詢的過程,介紹了主鍵分頁查詢存在SQL性能問題,如何去創建高效的索引去優化主鍵分頁查詢的SQL性能問題 對於數據分佈不均如何發現,提供了一些SQL查詢案例來進行參考,對MySQL Index Condition Pushdown優化算法做了一些簡單介紹。 一、背景介紹 最近在線上環境發現了一條執行較慢的分頁
作者:來自 vivo 互聯網運維團隊- Zhang Qianqian 在信息時代,用户的手機應用訪問量日益增多,DNS 解析作為連接互聯網的關鍵環節,也被提出了更高要求。這一背景下,HTTPDNS 域名解析服務憑藉防劫持、精準調度、實時解析生效等特性,逐漸成為行業主流解決方案。我們構建了 vivo HTTPDNS 端到端的一體化解決方案,通過對 HTTPDNS SDK、HTTPDNS 服務端、統一
作者:來自 vivo 互聯網大前端團隊- Sun Maobin 通過開發 Babel 插件,打包時自動為代碼添加 可選鏈運算符(?.),從而有效避免 TypeError 的發生。 一、背景介紹 在 JS 中當獲取引用對象為空值的屬性時,程序會立即終止運行並報錯:TypeError: Cannot read properties of ... 在ECMAScript 2020新增的可選鏈運算符(?.
作者: vivo 互聯網大前端團隊- You Chen 本文介紹可以在微信小程序上應用的端智能技術方案,聚焦TensorFlow.js推理和微信原生推理,詳細講解這兩種方案在項目中的應用過程,為小程序開發者提供可複用的端智能技術選型策略與工程化解決方案。 1分鐘看圖掌握核心觀點👇 本文提供配套演示代碼,可下載體驗: Github |weixin-mini-ai 一、背景 隨着AI浪潮的
作者:vivo 互聯網存儲團隊 - Lin Haiwen、Xu Xingbao 本文從一次生產環境業務服務報錯,逐步對問題進行定位,深入分析之後發現導致問題的原因,給出相應的優化方法,提升業務可用性。 1分鐘看圖掌握核心觀點👇 一、問題描述 1.1 報錯信息 應用服務報錯,通過監控日誌發現凌晨2點的時候,應用報錯獲取不到Redis key。 1.2 告警與監控信息 首先想到是否由於內存
作者:來自 vivo 互聯網服務器團隊- Wang Fei 單點登錄作為公共組件,在各個公司內部被各個系統所廣泛使用,但是在使用過程中我們會遇到各種各樣的問題,其中循環登錄問題就是一個比較經典的問題。本文主要分析單點登錄和權限系統設計的基本原理,然後結合實際案例來分析循環登錄的原因,並給出具體的解決辦法。 一、單點登錄簡單介紹 1.1 基本概念 一個公司內部可能存在多個系統,如果每一個人在使用不同