滴滴出行平臺(tái)的高可用架構(gòu)課件_第1頁(yè)
滴滴出行平臺(tái)的高可用架構(gòu)課件_第2頁(yè)
滴滴出行平臺(tái)的高可用架構(gòu)課件_第3頁(yè)
滴滴出行平臺(tái)的高可用架構(gòu)課件_第4頁(yè)
滴滴出行平臺(tái)的高可用架構(gòu)課件_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、滴滴出行平臺(tái)的高可用架構(gòu)第1頁(yè),共32頁(yè)。滴滴的出行業(yè)務(wù)架構(gòu)高可用方法論異地多活一鍵降級(jí)防火放火第2頁(yè),共32頁(yè)。滴滴業(yè)務(wù)簡(jiǎn)介接單接駕開始行程結(jié)束行程發(fā)單等待接駕上車到達(dá)支付乘客司機(jī)登錄、鑒權(quán) 訂單、司機(jī) 分單計(jì)價(jià)、收銀、支付 反作弊、管控、運(yùn)營(yíng)服務(wù)交互服務(wù)交互交易狀態(tài)流轉(zhuǎn)平臺(tái)交易業(yè)務(wù): 實(shí)時(shí)、多狀態(tài)、長(zhǎng)鏈條第3頁(yè),共32頁(yè)。業(yè)務(wù)架構(gòu)演進(jìn)MQ司機(jī)、訂單、計(jì)價(jià) 收銀、運(yùn)營(yíng)lvsnginxstorage分單系統(tǒng)lvsDFE核心業(yè)務(wù)apistorage分單引擎訂 單司 機(jī)計(jì) 價(jià)收 銀運(yùn) 營(yíng)DGWDFEstorage分單引 擎2.0訂 單司 機(jī)計(jì) 價(jià)收 銀運(yùn) 營(yíng)???api出租 車apiUbera p

2、i代駕 apistoragestoragestoragestorage登 錄 鑒 權(quán)收 銀 支 付運(yùn) 營(yíng)地 圖草創(chuàng)時(shí)代2012.9滴滴打車上線2013.8 1kw+用戶 紅包大戰(zhàn)2014.3 單量300萬(wàn)單/天 乘客1億 司機(jī)100萬(wàn)??燔嚿暇€2014.8 專車上線2015.5 快車上線2016.3 1000萬(wàn)單/天Uber合并2016.8 收購(gòu)Uber中國(guó)2016.10 2000萬(wàn)單/天外包日訂單量: 15年幾百萬(wàn) - 目前2500w+(僅次于淘寶)第4頁(yè),共32頁(yè)。高可用面臨的挑戰(zhàn)流量增 長(zhǎng)迅猛業(yè)務(wù)增長(zhǎng)迅速 節(jié)假日效應(yīng)明顯業(yè)務(wù)復(fù)雜實(shí)時(shí) 多狀態(tài) 交易型 鏈路長(zhǎng)新場(chǎng)景多 迭代快穩(wěn)定性 挑戰(zhàn)大高

3、速路上 換輪子業(yè)務(wù)調(diào)用鏈路接口調(diào)用鏈條示例第5頁(yè),共32頁(yè)。滴滴出行的業(yè)務(wù)架構(gòu)高可用方法論異地多活一鍵降級(jí)防火放火第6頁(yè),共32頁(yè)。高可用的常見措施不可用因素典型case增大MTBF縮短MTTR程序、數(shù)據(jù)和配置 bug程序出core、配置格式出錯(cuò)研發(fā)質(zhì)量、測(cè)試質(zhì)量、變更分級(jí) 解耦減少變更、監(jiān)控告警、快速回滾機(jī)器和網(wǎng)段級(jí)故障宕機(jī)、邊緣交換機(jī)板卡故障、 光纖抖動(dòng)硬件冗余預(yù)警預(yù)遷移服務(wù)、切流到本機(jī) 房冗余、數(shù)據(jù)主從切換多網(wǎng)段和機(jī)房級(jí)故 障核心交換機(jī)故障、鏈路割接、 機(jī)房掉電硬件冗余(包括多機(jī)房)預(yù)警預(yù)遷移服務(wù),切流到其他 機(jī)房流量大促、節(jié)假日和特殊天氣、外 部攻擊、上游重試雪崩上游容錯(cuò)調(diào)度防雪崩容量

4、規(guī)劃、防攻擊、其他同容 量不足容量主流程服務(wù)容量不足容量規(guī)劃、容量預(yù)警限流、切流其他冗余、降級(jí)、 熔斷弱依賴、快速擴(kuò)容依賴服務(wù)賬單依賴的到達(dá)時(shí)間預(yù)估故障 分單依賴的特征服務(wù)故障、遞歸使用前述方法提高該依賴的 可用性熔斷弱依賴,或遞歸使用前述 方法提高該依賴的可用性第7頁(yè),共32頁(yè)。高可用的8大抓手、抓手典型做法業(yè)務(wù)平臺(tái)服務(wù)研發(fā)質(zhì)量容錯(cuò)設(shè)計(jì)、cr、單測(cè)、穩(wěn)定性 評(píng)審弱依賴化(主流程瘦身) 數(shù)據(jù)流治理、研發(fā)流程、scmpf流程平臺(tái)rpc框架、服務(wù)組 件測(cè)試質(zhì)量線下仿真仿真環(huán)境建設(shè)、測(cè)試流程仿真環(huán)境解決方案、測(cè)試 框架支持引流、dump變更管理按機(jī)器或流量分級(jí)發(fā)布、多 維度質(zhì)量檢測(cè)灰度發(fā)布、檢查和回

5、滾流程部署系統(tǒng)、分級(jí)發(fā)布系統(tǒng)服務(wù)發(fā)現(xiàn)、配置中 心監(jiān)控告警機(jī)器/進(jìn)程/業(yè)務(wù)監(jiān)控及報(bào)警監(jiān)控大盤、多級(jí)報(bào)警監(jiān)控系統(tǒng)、告警系統(tǒng)metrics、trace故障預(yù)案定位和止損的預(yù)案預(yù)案建設(shè)異地多活、一鍵預(yù)案/降級(jí)中間件支持切流 限流、熔斷、降級(jí)容量規(guī)劃全鏈路壓測(cè)、子鏈路壓測(cè)、 哨兵壓測(cè)改造支持各壓測(cè)壓測(cè)平臺(tái)中間件支持壓測(cè)放火盲測(cè)弱依賴驗(yàn)證、預(yù)案有效性和 完備性驗(yàn)證請(qǐng)求級(jí)放火、資源放火放火盲測(cè)平臺(tái)中間件支持放火值班巡檢例行值班表、節(jié)假日值班例行值班、集中應(yīng)急處理值班平臺(tái)第8頁(yè),共32頁(yè)。高可用的5級(jí)演進(jìn)目標(biāo)4321021043手工5工具化平臺(tái)化自動(dòng)化智能化43210召回占比演進(jìn)x年x+1年未來(lái)第9頁(yè),共32

6、頁(yè)。滴滴出行的業(yè)務(wù)架構(gòu)高可用方法論異地多活一鍵降級(jí)防火放火第10頁(yè),共32頁(yè)。異地多活一個(gè)腳本引發(fā)的“血案”?https:/data/attachment/forum/201508/19/155520wtajnigimiz3jqgk.jpg哪些服務(wù)多活?同城還是異地?第11頁(yè),共32頁(yè)。如何實(shí)現(xiàn)多活?流量路由流量標(biāo)記 分層路由 單元化數(shù)據(jù)同步中間件同步 業(yè)務(wù)雙寫降級(jí)預(yù)案單活降級(jí) 數(shù)據(jù)故障兜底第12頁(yè),共32頁(yè)。業(yè)務(wù)層接入層短連接業(yè)務(wù)核心api分 單 系 統(tǒng)坐 標(biāo) 系 統(tǒng)數(shù)據(jù)庫(kù)緩存列式特征消息隊(duì)列收 銀 支 付司 機(jī) 系 統(tǒng)訂 單 系 統(tǒng)登地錄圖鑒 權(quán)長(zhǎng)連接Native AppWebApp用戶層

7、數(shù)據(jù)層業(yè)務(wù)層接入層短連接業(yè)務(wù)核心api分 單 系 統(tǒng)坐 標(biāo) 系 統(tǒng)司 機(jī) 系 統(tǒng)訂 單 系 統(tǒng)地 圖登 錄 鑒 權(quán)長(zhǎng)連接Native AppWebApp用戶層數(shù)據(jù)同步流量路由多活架構(gòu)數(shù)據(jù)庫(kù)緩存列式特征消息隊(duì)列 數(shù)據(jù)層第13頁(yè),共32頁(yè)。業(yè)務(wù)層接入層短連接業(yè)務(wù)核心api分 單 系 統(tǒng)坐 標(biāo) 系 統(tǒng)收 銀 支 付司 機(jī) 系 統(tǒng)訂 單 系 統(tǒng)登地錄圖鑒 權(quán)長(zhǎng)連接Native AppWebApp用戶層業(yè)務(wù)層接入層短連接業(yè)務(wù)核心api分 單 系 統(tǒng)坐 標(biāo) 系 統(tǒng)司 機(jī) 系 統(tǒng)訂 單 系 統(tǒng)地 圖登 錄 鑒 權(quán)長(zhǎng)連接Native AppWebApp用戶層流量路由單元內(nèi)訪問、不要跨機(jī)房流量路由流量如何劃分?

8、 流量標(biāo)識(shí)如何傳遞?路由如何決策? 單活如何訪問多活?跨城、漫游如何處理? 為什么分層切換?第14頁(yè),共32頁(yè)。業(yè)務(wù)層業(yè)務(wù)核心api分 單 系 統(tǒng)坐 標(biāo) 系 統(tǒng)數(shù)據(jù)庫(kù)緩存列式特征消息隊(duì)列收 銀 支 付司 機(jī) 系 統(tǒng)訂 單 系 統(tǒng)地 圖登 錄 鑒 權(quán)數(shù)據(jù)層業(yè)務(wù)層業(yè)務(wù)核心api分 單 系 統(tǒng)坐 標(biāo) 系 統(tǒng)司 機(jī) 系 統(tǒng)訂 單 系 統(tǒng)地 圖登 錄 鑒 權(quán)數(shù)據(jù)同步數(shù)據(jù)同步數(shù)據(jù)庫(kù)緩存列式特征消息隊(duì)列 數(shù)據(jù)層一致性挑戰(zhàn):成功率、延遲、有序、不重業(yè)務(wù)層的挑戰(zhàn): 不同系統(tǒng)有不同的數(shù)據(jù)特性司機(jī)系統(tǒng):短時(shí)問題可容忍,但數(shù)據(jù)修復(fù)麻煩 訂單系統(tǒng):強(qiáng)一致性要求,但修復(fù)相對(duì)簡(jiǎn)單 分單系統(tǒng):短時(shí)問題可容忍坐標(biāo)流:獲取最近的

9、數(shù)據(jù),部分丟失無(wú)影響第15頁(yè),共32頁(yè)。數(shù)據(jù)同步系統(tǒng)數(shù)據(jù)特征分析存儲(chǔ)一致性系統(tǒng)特性同步方案司機(jī) 系統(tǒng)身份信息靜態(tài)變化小數(shù)據(jù)庫(kù)、緩存無(wú)需考慮1、短時(shí)問題可容忍2、db出問題修復(fù)麻煩1、數(shù)據(jù)庫(kù)主從同步,寫主讀從2、緩存通過proxy互寫同步是否忙碌、是否出車、座位數(shù)關(guān)鍵因子數(shù)據(jù)庫(kù)、緩存、 列式特征中偏高策略數(shù)據(jù)(服務(wù)分、圍欄、新政) 非關(guān)鍵因子列式特征中偏低訂單 系統(tǒng)起始位置等信息靜態(tài)變化小數(shù)據(jù)庫(kù)、緩存無(wú)需考慮相對(duì)修復(fù)簡(jiǎn)單1、乘客直接結(jié)束訂單再次發(fā)單2、客服通過接口強(qiáng)制關(guān)單1、數(shù)據(jù)庫(kù)主從同步,成交主流程寫主讀主2、緩存:有序不重雙集群校驗(yàn)binlog反沖,最終一致訂單狀態(tài)6-7個(gè)(狀態(tài)機(jī))狀態(tài)錯(cuò)誤

10、,無(wú)法繼 續(xù)數(shù)據(jù)庫(kù)、緩存高分單 系統(tǒng)司機(jī)和乘客特征短時(shí)可接受列式特征中偏低特征出問題,可從數(shù)據(jù)庫(kù)回?fù)疲?、手工,聽單檢測(cè) 收車出車2、服務(wù)端旁路檢測(cè)司機(jī)狀態(tài)在業(yè)務(wù)proxy層實(shí)現(xiàn)主從同步(類數(shù)據(jù)庫(kù))坐標(biāo)流司機(jī)乘客坐標(biāo)信息內(nèi)存低獲取最近產(chǎn)生的數(shù)據(jù),可容忍數(shù)據(jù) 丟失實(shí)現(xiàn)容易,在業(yè)務(wù)proxy層互寫mq消息隊(duì)列低異步數(shù)據(jù),一致性要求不高全量互同步第16頁(yè),共32頁(yè)。降級(jí)預(yù)案多活: 切流單活: 熔斷故障特征庫(kù)數(shù)據(jù)異常: DB回?fù)艱B掛了: 主從切換無(wú)狀態(tài)業(yè)務(wù)數(shù)據(jù)故障DB主從延遲計(jì)價(jià)、服務(wù)分有損: 善后補(bǔ)償網(wǎng)絡(luò)抖動(dòng): 短時(shí)限流 防雪崩、長(zhǎng)時(shí)切流到主 機(jī)房抖動(dòng)+主力機(jī)房掛:超 小概率、最小系統(tǒng)有損降級(jí)第1

11、7頁(yè),共32頁(yè)。滴滴出行的業(yè)務(wù)架構(gòu)高可用方法論異地多活一鍵降級(jí)防火放火第18頁(yè),共32頁(yè)。What?限流:大促時(shí)限制入口流量頁(yè)面去掉非核心功能同步轉(zhuǎn) 異步切流:流量切到正常集群盡可能保住服務(wù)第19頁(yè),共32頁(yè)。Why?業(yè)務(wù)出問題不可避免需要上線,止損慢預(yù)案有沖突、容易失效業(yè)務(wù)壓力大,精力有限要有降級(jí)預(yù)案快速生效止損預(yù)案管理降低接入成本第20頁(yè),共32頁(yè)。How?場(chǎng)景預(yù)案,一鍵快速生效L1: 業(yè)務(wù)無(wú)損: 號(hào)碼保護(hù)、不作弊、導(dǎo)流、切流L2: 部分效果受損: 動(dòng)調(diào),計(jì)價(jià)(路面距離降級(jí)為直線距離)L3: 核心支付效果有損: 收銀熔斷、乘客未支付可以發(fā)單L4: 核心主流程效果受損: 發(fā)單限流、內(nèi)部丟單移

12、動(dòng)+pc雙端 隨時(shí)觸達(dá)生效率監(jiān)控、灰度發(fā)布、平臺(tái)雙活、互斥管理 安全生效切流、限流、熔斷、普通降級(jí)配置語(yǔ)義+中間件action實(shí) 現(xiàn)評(píng)分系統(tǒng)驅(qū)動(dòng)接入和演練有效演練高效快速接入止損第21頁(yè),共32頁(yè)。Detail第22頁(yè),共32頁(yè)。切流實(shí)現(xiàn)路由表通路實(shí)時(shí)配送平臺(tái)動(dòng)態(tài)配置路由 規(guī)則路由 算法流量標(biāo)識(shí)目的機(jī)房輸入降級(jí)中間件服務(wù) 實(shí)例舉例:路由成環(huán)問題?第23頁(yè),共32頁(yè)。限流實(shí)現(xiàn)限流配置通路實(shí)時(shí)配送平臺(tái)動(dòng)態(tài)配置限流 規(guī)則令牌桶 算法caller、callee、 method是否限流輸入降級(jí)中間件服務(wù) 實(shí)例令牌桶:支持突發(fā)漏桶:強(qiáng)限固定的速度第24頁(yè),共32頁(yè)。熔斷實(shí)現(xiàn)熔斷配置通路實(shí)時(shí)配送平臺(tái)端動(dòng)態(tài)配

13、置熔斷 規(guī)則開關(guān) 語(yǔ)義 識(shí)別熔斷標(biāo)記是否熔斷輸入降級(jí)中間件服務(wù) 實(shí)例第25頁(yè),共32頁(yè)。滴滴出行的業(yè)務(wù)架構(gòu)高可用套路異地多活一鍵降級(jí)防火放火第26頁(yè),共32頁(yè)。防火滅火放火的重要項(xiàng)目防火降低不可用發(fā)生概率:線下仿真灰度發(fā)布滅火縮短止損時(shí)間:異地多活一鍵降級(jí)驗(yàn)證滅火是否有效完 備:故障注入壓測(cè)放火第27頁(yè),共32頁(yè)。防火-灰度發(fā)布上線過程idc-preidc-small人群灰度?X 開關(guān)維護(hù)成本高機(jī)器灰度?X 指標(biāo)不聚焦不敏感So 人群灰度+機(jī)器灰度idc1-g1idc1-g2idc1-g2idc2預(yù)發(fā)城市 灰度10%40%100%第28頁(yè),共32頁(yè)。放火-壓測(cè)全鏈路壓測(cè)仿真司乘行為透?jìng)鲏簻y(cè)標(biāo)識(shí)

14、隔離壓測(cè)數(shù)據(jù)單鏈路壓測(cè)注重子系統(tǒng)壓測(cè)隔離壓測(cè)數(shù)據(jù)構(gòu)造上游請(qǐng)求Mock下游結(jié)果哨兵系統(tǒng)小規(guī)模損失風(fēng)險(xiǎn)換取及時(shí)預(yù)警物理隔離流量大于正常集群動(dòng)態(tài)調(diào)控第29頁(yè),共32頁(yè)。放火-故障注入控制中心REQ LEVELCPUMEM NETI/OSYS LEVELINTERFACECITY PERCENT FLOW TAGLATENCY ERRCODETHRIFT HTTPHIGH USAGE PACK LOSSSLOW NET CONN REFUSE協(xié)議層故障類型故障類型command目標(biāo)預(yù)案完備性檢查強(qiáng)弱依賴驗(yàn)證提升異常分支覆蓋率層次線下環(huán)境線上測(cè)試賬號(hào)線上單個(gè)城市IPTABLES NGINX MODULE RPC MIDDLEWARE實(shí)現(xiàn)第30頁(yè),共32頁(yè)。高可用落地組織結(jié)構(gòu)支撐公正的第三方組織(星辰花):復(fù)盤、 定級(jí)追責(zé)、Trace 進(jìn)展專項(xiàng)FT:虛線匯報(bào)、項(xiàng)目經(jīng)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論