動態

列表
創建 時間

Sharding-JDBC源碼解析與vivo的定製開發

作者:vivo IT 平台團隊 - Xiong Huanxin Sharding-JDBC是在JDBC層提供服務的數據庫中間件,在分庫分表場景具有廣泛應用。本文對Sharding-JDBC的解析、路由、改寫、執行、歸併五大核心引擎進行了源碼解析,並結合業務實踐經驗,總結了使用Sharding-JDBC的一些痛點問題並分享了對應的定製開發與改造方案。 本文源碼基於Sharding-JDBC 4.1.

創建 時間

分佈式任務調度內的 MySQL 分頁查詢優化

作者:vivo 互聯網數據庫團隊-Qiu Xinbo 本文主要通過圖示介紹了用主鍵進行分片查詢的過程,介紹了主鍵分頁查詢存在SQL性能問題,如何去創建高效的索引去優化主鍵分頁查詢的SQL性能問題 對於數據分佈不均如何發現,提供了一些SQL查詢案例來進行參考,對MySQL Index Condition Pushdown優化算法做了一些簡單介紹。 一、背景介紹 最近在線上環境發現了一條執行較慢的分頁

創建 時間

慢SQL優化實戰:從一例線上慢SQL探究執行引擎工作過程

作者: vivo 互聯網服務器團隊- Li Xin 本文通過一個線上慢SQL案例,介紹了Join的兩種算法和Order by的工作原理,並通過Explain和Optimizer_trace工具完整推演了慢SQL的執行過程。基於對原理和執行過程的分析,本文給出一種“引導執行引擎選擇效率更高的算法”的方案,從而使查詢性能得到大幅提升。 1、線上慢 SQL 背景 慢 SQL 會影響用户使用體驗,

創建 時間

vivo HTTPDNS 端到端體驗優化實踐

作者:來自 vivo 互聯網運維團隊- Zhang Qianqian 在信息時代,用户的手機應用訪問量日益增多,DNS 解析作為連接互聯網的關鍵環節,也被提出了更高要求。這一背景下,HTTPDNS 域名解析服務憑藉防劫持、精準調度、實時解析生效等特性,逐漸成為行業主流解決方案。我們構建了 vivo HTTPDNS 端到端的一體化解決方案,通過對 HTTPDNS SDK、HTTPDNS 服務端、統一

創建 時間

前端 TypeError 錯誤永久消失術

作者:來自 vivo 互聯網大前端團隊- Sun Maobin 通過開發 Babel 插件,打包時自動為代碼添加 可選鏈運算符(?.),從而有效避免 TypeError 的發生。 一、背景介紹 在 JS 中當獲取引用對象為空值的屬性時,程序會立即終止運行並報錯:TypeError: Cannot read properties of ... 在ECMAScript 2020新增的可選鏈運算符(?.

創建 時間

從頻繁告警到平穩發佈:服務冷啓動 CPU 風暴優化實踐

作者:vivo 互聯網服務器團隊- Xie Xiaopeng 本文針對服務啓動後幾分鐘內 CPU 持續處於高峯狀態的問題,提出了自己的分析思路與解決方案。最終線上效果比較顯著,成功解決了每次發版過程中頻繁告警、業務受損以及用户體驗不佳的問題,為服務的高可用性增添了一道重要保障。本文的重點在於問題的發現、分析及解決思路。對於 CPU 相關的問題,火焰圖和 Arthas 是非常有效的工具,建議大

創建 時間

微信小程序端智能項目工程化實踐

作者: vivo 互聯網大前端團隊- You Chen 本文介紹可以在微信小程序上應用的端智能技術方案,聚焦TensorFlow.js推理和微信原生推理,詳細講解這兩種方案在項目中的應用過程,為小程序開發者提供可複用的端智能技術選型策略與工程化解決方案。 1分鐘看圖掌握核心觀點👇 本文提供配套演示代碼,可下載體驗: Github |weixin-mini-ai 一、背景 隨着AI浪潮的

創建 時間

Redis key 消失之謎

作者:vivo 互聯網存儲團隊 - Lin Haiwen、Xu Xingbao 本文從一次生產環境業務服務報錯,逐步對問題進行定位,深入分析之後發現導致問題的原因,給出相應的優化方法,提升業務可用性。 1分鐘看圖掌握核心觀點👇 一、問題描述 1.1 報錯信息 應用服務報錯,通過監控日誌發現凌晨2點的時候,應用報錯獲取不到Redis key。 1.2 告警與監控信息 首先想到是否由於內存

創建 時間

Cookie的secure屬性引起循環登錄問題分析及解決方案

作者:來自 vivo 互聯網服務器團隊- Wang Fei 單點登錄作為公共組件,在各個公司內部被各個系統所廣泛使用,但是在使用過程中我們會遇到各種各樣的問題,其中循環登錄問題就是一個比較經典的問題。本文主要分析單點登錄和權限系統設計的基本原理,然後結合實際案例來分析循環登錄的原因,並給出具體的解決辦法。 一、單點登錄簡單介紹 1.1 基本概念 一個公司內部可能存在多個系統,如果每一個人在使用不同

創建 時間

vivo 前端三劍客發展歷程及原理揭秘

作者: vivo 互聯網前端團隊- Han Xuejian、Zhang Hao 異地協作模式,給開發和測試間的問題溝通及定位帶來了諸多挑戰。本文從前端開發視角出發, 闡述在這過程中遇到的痛點,探索解決的思路,並在過程中成功孵化出技術工具“前端三劍客”,文章深入解析了“前端三劍客”技術的實現原理及應用場景。 1分鐘看圖掌握核心觀點👇 一、背景 隨着公司業務的不斷髮展,異地協作成為一種常態