《騰訊云日志服務通往云原生時代的破局之道-王國梁.pdf》由會員分享,可在線閱讀,更多相關《騰訊云日志服務通往云原生時代的破局之道-王國梁.pdf(26頁珍藏版)》請在三個皮匠報告上搜索。
1、騰訊云日志服務通往云原生時代的破局之道騰訊云 王國梁王國梁 騰訊云CLS自我介紹騰訊云CLS研發負責人,騰訊 OpenTelemetry Oteam PMC,OpenTelemetry社區貢獻者、前開源Kubernetes 社區成員(kube-scheduler維護者和Reviewer之一)。目前負責騰訊云日志服務平臺(CLS)核心系統設計及研發。關注日志、監控、鏈路追蹤等可觀測性領域。曾負責美團虛擬化、容器化調度系統和云原生化的技術改造,主導Kubernetes和云原生應用管理在美團的從0到1的大規模落地。大綱企業視角云原生技術改造和應用現代化的意義傳統應用架構案例:騰訊云日志服務老舊系統問
2、題分析云原生化過程遇到的典型挑戰和應對策略如何給一架高速運行的“飛機”更換引擎?騰訊云日志服務介紹日志服務云原生化的業務背景規模大且性能要求高:十萬億級日志量/天、百毫秒級寫入延遲、百億條日志秒級檢索峰值大且流量突發頻繁:高峰GB/秒突發流量寫入延遲和穩定性要求高:秒級(99.9%3s以內)日志可見、寫入可靠性要求高功能需求迭代要求高:來自客戶需求、產品升級、競品壓力幾乎每周都有發布上線,對迭代效率要求高質量問題突出:大小故障頻發,技術團隊不僅要迭代新功能還要一直救火,團隊壓力大企業視角來看云原生技術改造的意義云原生技術的“三個代表”最先進技術生產力的發展方向企業產品競爭力的發展要求企業降本增
3、效的技術保障云原生技術(容器、K8S等)代表了最先進技術生產力,技術成熟并采用廣泛基礎設施和技術理念的陳舊會導致無法滿足如今的業務需求,并最終成為產品發展的障礙快速擴張是目前新產品的典型特點,爆款產品都有著突發性,如果不能抓住機會很快會被淘汰產品的研發、測試、運維、交付效率直接決定了產品的迭代周期,研效的提升決定了是否能夠在同質化競爭激烈的場景下“快人一步”企業內部獨立的資源池、資源buffer導致經常出現嚴重的“貧富差距”,彈性能力差,不能高效的利用資源,企業運營成本居高不下企業不同產品之間存在較大的技術棧、架構、重復的“輪子”導致研效和研發成本高云原生技術改造,幾乎成為企業發展的必然選擇云
4、原生技術改造,幾乎成為企業發展的必然選擇傳統應用和現代應用傳統應用現代應用業務特征技術架構流量壓力容器驅動,屏蔽操作系統和硬件,可移植基礎設施感知,環境高度統一基礎設施服務器為中心,應用程序和底層操作系統之間依賴關系緊密開發模式復雜度架構設計緊耦合、單體或中心化架構,本地部署,擴展升級復雜可伸縮性垂直擴展和按峰值需求常備資源部署運維服務部署、升級管理依賴人工操作,啟動恢復慢松耦合,無狀態、微服務架構,本地+云化部署,組件可以獨立迭代,API調用水平擴張和按需分配,彈性伸縮聲明式和自動化運維,業務自適應,快速恢復業務復雜,跨團隊、跨部門聯合項目多DevOps自動化、流程化、快速迭代,周期短流量突
5、發成為常態,邏輯復雜且壓力大開發語言C/C+、ShellJava、Go、Python等業務類型獨立單一,多部門協調少瀑布式迭代,開發構建周期長用戶訪問可控,邏輯簡單,壓力小關注可靠性、穩定性上市速度、快速增長傳統架構的特點和挑戰:騰訊云日志服務老舊系統問題分析架構架構基礎設施混亂資源浪費成本高應突發能力差性能和穩定性差服務治理難規模增長迅速功能更復雜流量沖擊大業務迭代頻繁業務業務基礎設施混亂物理機虛擬機用戶操作系統類庫、系統配置宿主操作系統類庫、系統配置系統/運維組件系統/運維組件二進制程序二進制程序應用實例應用實例本地IDC、云上(多云)、硬件配置(CPU/MEM等)、硬件型號內核版本、系統
6、性能/安全類庫版本、默認系統參數配套運維組件、監控、告警、程序版本等實例存活性、負載、進程數等應用的基礎設施依賴如何選擇?業務進程1業務進程N1號進程(system/init)業務進程1業務子進程業務進程21號進程(system/init)業務進程21號進程(system/init)業務進程11號進程(system/init)業務進程31號進程(system/init)業務進程4服務器:基礎設施為物理機、虛擬機富容器:類服務器模式,基礎設施為容器Sidecar:輕量級容器,基礎設施為容器-20132013-20192019 至今有狀態應用 vs 無狀態應用無狀態服務有狀態服務服務A無狀態應用S
7、QL數據庫或NoSQL 數據庫網關服務服務A有狀態服務分區應用本身需要保存狀態或會話應用不需要存儲信息一個請求只能被某個實例處理任何請求可以在任何請求處理應用設計復雜,擴展復雜應用設計簡單,擴展容易故障容忍度低,需要遷移或同步數據故障容忍度高,直接剔除即可DBDBDB數據復制集中存儲適應新基礎設施,如何改造應用的配置管理?為所有配置保留單一可信來源使用自動化的方式來執行配置分發和變更集中化配置管理和版本控制老服務適應新配置兼容不同環境的配置管理和使用如何平滑完成架構升級?金絲雀模式:從小地域、部分客戶開始切換,逐步灰度完成全部流量的切換過程:老服務保持不變,新服務切換完成后仍舊保留2周,后續再
8、下線風險:風險極小,出現問題可以隨時切回彈性伸縮我們為什么需要它?0123456789類別 1類別 2類別 3類別 4類別 5類別 6圖表標題資源使用資源需求業務流量突發流量增長資源擴容不及時,服務故障流量下降資源縮容滯后,資源浪費嚴重周期性流量變化資源按最大預備,資源浪費嚴重彈性伸縮最佳實踐:三步走策略+兩個原則應突發應突發降成本降成本保穩定保穩定快擴容快擴容+慢縮容慢縮容為什么需要流量防護和容錯?場景:疫情期間,某地突發疫情封控/學校改為線上教學/上班改為遠程,會議日志量瞬間突增百倍;618/雙十一大促,電商客戶業務量猛增,日志量突10倍以上;廣東連續大雨,下班高峰,某出行客戶打車量劇增;
9、下游服務異常引自身服務也異常,且影響時間和范圍不可控突增流量導致系統CPU負載過高,無法正常處理請求或導致實例OOM流量異常導致消息投遞過快,消息隊列積壓請求過多導致緩存失效,數據庫連接數增加依賴消息隊列異常,消息寫入耗時增加或超時慢SQL導致數據庫負載高,請求導致進一步雪崩存儲系統異常寫入耗時增加,吞吐量下降,日志大量堆積應用A應用B應用C應用D應用E應用F應用G應用H應用I全鏈路流量接入和治理DNSMQ??蛻舳藰I務接入服務內部服務與依賴本地緩存退避重試異常上報流量調度鑒權準入隔離拉黑限流限頻計量計費降級兜底彈性伸縮削峰填谷數據遷移回溯恢復故障降級建設應用可觀測性:不是只是監控告警用戶視角從
10、從代代碼碼到到用用戶戶建建設設業業務務可可觀觀測測性性全面可全面可觀測性觀測性用戶點擊頁面加載請求耗時行為追蹤崩潰異常超時失敗用戶畫像停留時長?;A設施中間件應用業務埋點性能執行耗時健康狀態日志上報崩潰捕獲調用鏈接口調用。SQL耗時慢查詢緩存訪問實例狀態使用率訪問耗時帶寬占用系統日志。網絡帶寬集群狀態實例數量CPU/MEM/NET使用率容災巡檢資源水位系統日志。指標調用鏈日志行為事件實體數據聚合監控告警業務分析統一監控智能運維業務運營效能提升打破數據孤島全面掌控應用告警升級、收斂、異常檢測、根因分析、智能定位建設業務大盤、用戶視角應用質量和健康情況賦能數字化效率提升業務分析業務分析監控大盤監控
11、大盤鏈路追蹤鏈路追蹤智能運維智能運維實體監控實體監控用戶行為聚合上卷下鉆分析查詢語句特征語法錯誤檢測查詢熱點接口成功率接口返回碼訪問量請求來源流量趨勢用戶會話依賴分析性能分析異常檢測性能分析告警升級根因分析趨勢預測彈性伸縮告警收斂資源實例數據庫頁面用戶MQ任務DevOps實踐騰訊云日志服務的云原生化架構實踐代碼倉庫CI/CD自動化測試測試集群生產集群容器集群研效API協議代理路由分發安全管控啟動應用刪除應用可觀測部署應用停止應用應用配置升級發布創建應用應用擴容應用生命周期管理容災降級IDC兼容應用編排3AZ彈性伸縮服務治理配置管理服務發現與注冊任務調度與管理數據庫DB緩存服務Redis消息隊列
12、MQ分布式事務ZK分布式鎖ETCD消息發布ETCD從“需求-開發-測試-發布-運維”的一站式DevOps平臺,支持業務快速敏捷迭代基于公司一站式的應用部署和管理平臺,復用統一資源池、應用生命周期管理以及服務的統一治理和容災管控、可觀測性建設高性能的彈性伸縮容器集群,為應用的生命周期管理提供保障為應用提供關系型的數據存儲能力,應用重要核心數據和業務資產提供高性能的讀寫能力,提升業務應對高并發請求的能力服務異構解耦,削峰填谷,提升業務吞吐能力提供分布式的協調能力,提升業務的任務管理和事務管理提供分布式的鎖管理和任務管理能力提供廣播式的消息發布和訂閱能力,協調多個上下游業務服務總線應用管理微服務應用
13、tRPC應用管理TKEx核心依賴業務統一入口,支持業務高性能、安全可靠的服務和生態擴展架構目標:圍繞云原生技術(容器、K8S、聲明式API、彈性伸縮等),建設符合現代應用和數字化業務的發展需求騰訊云日志服務云原生架構收益141413107.36.15.23.22.91.91.20.50.10.62.366.96.16.97.110.611.210.19.71%4%15%38%49%50%57%69%79%85%89%95%31%30%28%27%38%41%44%49%45%48%52%57%1011121415161820212426270510152025300%10%20%30%40%5
14、0%60%70%80%90%100%1月23456789101112月圖表標題VM核心數容器核心數云原生滲透率利用率業務規模第一階段:云原生化上量第二階段:業務改造攻堅第三階段:彈性伸縮*數據已脫敏*騰訊云日志服務云原生架構收益成本優化效率提升客戶價值運營成本降低2 2千萬千萬/年年人力成本減少2HC2HC核心數減少1010萬核萬核/月月發布/擴縮容耗時90%90%彈性伸縮應突發0 0介入介入資源利用率40%40%服務穩定性99.99%以上,適應客戶場景PB級突發流量的彈性接入能力作為平臺級云服務,自身的云原生化助力客戶數字化升級的需求快速迭代和交付*數據已脫敏*底線:不能因為升級導致故障預期:希望升級過程業務無感知挑戰:1.業務快速增長,規模季度增長50%以上 2.需求壓力大,大客戶和產品需求迭代幾乎消耗了80%的人力 3.故障不斷,幾乎每月都有大小故障發生,復盤都沒時間復盤 4.并沒有資源(人力、時間)專門來做重構和升級如何給一架高速運行的“飛機”更新引擎?架構演進的道與術盡快見效不為優化而優化正確的妥協轉變模式智慧勇氣成功的轉變成功的轉變+=業務技術目標制定 技術選型向上管理 向下推進 人力投入方案設計里程碑風險壓力反對+質疑短期的業務價值長期的團隊收益