国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

滴滴出行許令波:海量數(shù)據(jù)背后的高可用架構

原創(chuàng)
開發(fā) 架構
在淘寶工作七余載,經(jīng)歷了淘寶網(wǎng) PV 從 1 到 50 億的增長歷程。其中涉及端與管道、應用層代碼級、應用架構和端到端等全鏈路的優(yōu)化,架構方面從單個應用到分布式、無線多端、中臺以及國際化的演進。這些積累的經(jīng)驗同時也在滴滴得到應用實踐。

【51CTO.com原創(chuàng)稿件】許令波,花名君山,WOTA全球架構與運維技術峰會分享嘉賓,現(xiàn)任滴滴出行技術研究員,從事容器化和資源調(diào)度方面的技術建設,曾在淘寶工作七余載。在淘寶,基本經(jīng)歷網(wǎng)站PV從1到50億的增長歷程、歷程中涉及端與管道、應用層代碼級、應用架構和端到端等全鏈路的優(yōu)化,架構方面從單個應用到分布式、無線多端、中臺以及國際化的演進。在當前正處于發(fā)展階段的滴滴,這些歷史積累得到應用實踐的同時也獲得很多新的經(jīng)驗。

高可用架構建設的挑戰(zhàn):流量與業(yè)務復雜性

何為高可用?原則有三:故障監(jiān)測與排除、消除達點故障,互備和容災。大流量網(wǎng)站的架構建設最重要的挑戰(zhàn)來自流量與業(yè)務復雜性兩方面。

流量。高可用架構首要應對的是大流量且變動復雜場景下的可用性問題。故在建設過程中,架構需要具備高伸縮性,能實現(xiàn)快速擴展。讀Cache也是解決大流量帶來麻煩的手段。

業(yè)務復雜性。于網(wǎng)站而言,業(yè)務復雜性比流量帶來的挑戰(zhàn)要大,因除技術性問題,還涉及人的因素。如整個業(yè)務流程沒經(jīng)過很好的整理,后續(xù)會帶來繁多且復雜的問題。在網(wǎng)站建設過程中,一方面架構上要做到分布式化,業(yè)務功能域要做到服務化,這樣可以保證架構的高可用、高伸縮性。另一方面業(yè)務架構與組織架構要相匹配,網(wǎng)站流量逐漸增大同時組織架構與業(yè)務架構要隨之變化,相互匹配。反之,如在業(yè)務發(fā)展過程中,做系統(tǒng)變更會帶來一系列問題:如開發(fā)和發(fā)布效率會因?qū)懘a風格和發(fā)布頻率(假設所有業(yè)務寫到同一系統(tǒng))受到影響、如問題排查找不到對應的負責人等。

實踐:故障檢測與排除、分布式服務化改造和大流量系統(tǒng)高可用迭代

2011年,淘寶PV處于從1億到10億的PV階段,系統(tǒng)性能成為最大挑戰(zhàn),針對大流量系統(tǒng)設計高可用的靜態(tài)化方案,應用在詳情、購物車以及秒殺系統(tǒng)中;參與雙11大促時,交易全鏈路進行優(yōu)化,這些歷史積累在滴滴得到應用實踐。滴滴在過去近一年時間做了三方面實踐:

一、      針對故障檢測,做了全平臺壓測

二、      針對業(yè)務快速增長情況,對系統(tǒng)做分布式服務化改造

三、      大流量系統(tǒng)高可用迭代

故障檢測與排除——全平臺測壓。 壓測是全業(yè)務,全流程的壓測。在正常情況下制造線上系統(tǒng)的線上流量,也就是自己來攻擊自己系統(tǒng),流量可自控。

滴滴出行 | 海量數(shù)據(jù)背后的高可用架構

產(chǎn)生流量的線上發(fā)壓平臺

如上圖,是產(chǎn)生流量的線上發(fā)壓平臺。和淘寶瀏覽某個商品行為相比,滴滴流量發(fā)起較復雜,涉及時間、地理位置等多維度。平臺有前臺Web系統(tǒng)、后臺服務系統(tǒng)和數(shù)據(jù)存儲三層。在測壓過程中,遇到一些問題。如測試數(shù)據(jù)和線上數(shù)據(jù)如何區(qū)分開?原則上是可寫在一起,但為避免帶來問題,這里做了和正式表一樣的影子表,同庫不同表。如怎樣識別是在做壓測?用Trace來傳遞標識,通過中間件傳遞,中間件不完善也可通過參數(shù)來做。

由于滴滴的數(shù)據(jù)和一般數(shù)據(jù)存在差異,全平臺壓測數(shù)據(jù)構造要做特殊處理。發(fā)單時產(chǎn)生的當前位置、目的地等數(shù)據(jù)都會回傳系統(tǒng)。這里會出現(xiàn)坐標問題,如用真實坐標會干擾線上某些因素。故把坐標偏移到太平洋,模擬端,把精度、緯度等也做偏移。虛擬乘客和司機,做ID偏移、手機號替換。

如下,這些都是在做全平臺測壓時,發(fā)現(xiàn)的問題:

業(yè)務線

  • 順風車:接口耗時增長,如列表頁面: 100ms => 700ms
  • 順風車:日志搜集的上傳服務夯死
  • 專快:派單訪問緩存出現(xiàn)超時
  • 出租車:獲取司機接口觸發(fā)限流
  • 出租車:派單單條日志量太大影響性能

基礎平臺

  • NAT:2臺NAT啟動無用的內(nèi)核模塊,流量大時大量丟包
  • LBS:位置服務寫入超時,查周邊接口有超時
  • 地圖:路徑規(guī)劃服務,到達容量瓶頸

壓測工具導致的其他問題

  • 專快計算超時:由于工具問題,司機和訂單陡增,km算法超時,主要是日志過多導致

滴滴出行 | 海量數(shù)據(jù)背后的高可用架構

典型的分布式架構

分布式改造。如上圖,是典型的分布式架構。最重要的接入層和服務層要做到服務的無狀態(tài)化,每個節(jié)點都需對等,因為這兩層主要做讀請求且請求量較大。做無狀態(tài)化是便于橫向擴展,當業(yè)務量大時,就可迅速部署機器來支撐流量。數(shù)據(jù)層大部分情況下都是有狀態(tài)的,需解決的是冗余和備份,MySQL要做存庫,能讀寫分離,能做故障切換。

分布式改造關鍵的技術點有三:分布式RPC框架、分布式消息框架和分布式配置框架。分布式RPC框架主要解決系統(tǒng)性關聯(lián)問題,就是系統(tǒng)拆分,必須要解決系統(tǒng)之間的同步連接問題 。分布式消息框架是解決系統(tǒng)間的數(shù)據(jù)關聯(lián)性,這是異步的,與RPC同步調(diào)用互補。分布式配置框架是解決[[191199]]狀態(tài)問題,實際應用中接入層和服務層也是有狀態(tài)的,最好做到無狀態(tài)。配置因為每個機器可能存在差異,故要通過中間件,把差異性放到配置框架中解決。

滴滴出行 | 海量數(shù)據(jù)背后的高可用架構

早期的滴滴系統(tǒng)架構

去年,滴滴做了服務治理相關的事。如上圖,是早期的滴滴系統(tǒng)架構,router接受層,到inrouter上層,中間有引入代碼。下面是Redis,本身是個代理。這里存在的問題:上下游依賴硬編碼在代碼里;沒有使用inrouter/tgw的ip:Port;摘除和擴容需要代碼重新上線,inrouter有網(wǎng)絡鏈路穩(wěn)定性隱患,以及效率上的損失;沒有清晰的服務目錄,API文檔以及SLA和監(jiān)控。

滴滴出行 | 海量數(shù)據(jù)背后的高可用架構

分布式RPC框架圖

如上是分布式RPC框架圖,目標是把一些服務之間的調(diào)用能夠通過規(guī)范化方式串聯(lián)起來。上下游通過名字服務,從上游和下游端口解耦,名字服務需要在全公司統(tǒng)一且名字唯一。Naming服務就是做服務命名,服務注冊和發(fā)現(xiàn),到注冊中心。RPC通道,部署私有協(xié)議,具備可擴展性。服務路由與容災,動態(tài)路由,故障節(jié)點摘除。

這里需要提醒的是,目前滴滴技術棧還不統(tǒng)一,所以導致中間件會復雜一些,應該最早期把技術棧統(tǒng)一,選擇Java或者Go等,可以避免后續(xù)的問題。服務命名要規(guī)范,服務名自描述,要構建統(tǒng)一服務樹。協(xié)議建議選擇私有RPC協(xié)議,為了效率和規(guī)范性。公有如http協(xié)議,測試方便,帶來方便性的同時也帶來的其他問題,就是容易被濫用。服務路由建議是全局摘除, 像機器一旦不可用就通知上游,及時摘掉,但也有一定的風險。如網(wǎng)絡閃斷,下面機器全掛,會導致所有服務都不可用。所以需在全員鎮(zhèn)守情況下做全局確認,不要拖著整個服務,要從上游做決策,再換個IP,重新做一次。

分布式服務化改造的大團隊協(xié)作,從單業(yè)務系統(tǒng)做分布式改造的一個出發(fā)點就是解決大團隊分工和協(xié)作問題。代碼的分支拆分,減少代碼沖突,使得系統(tǒng)獨立,打包和發(fā)布效率都會提高;部署獨立,線上故障排查和責任認定會更加明確。同時帶來的問題是依賴的不確定性增加,性能上的一些損耗。像一次請求,如果一下調(diào)來七八個請求,這也會帶來一些問題,所以這個過程要有一定的合理性,就是公司現(xiàn)在處于什么階段,現(xiàn)在需不需要拆分。所以系統(tǒng)、效率等方面要做一個平衡。

大流量系統(tǒng)的高可用迭代。大流量系統(tǒng)的架構實現(xiàn)高可用的策略有部署帶有分組功能的一致性Hash的Cache、靜態(tài)內(nèi)容前置到CDN和熱點偵測等。

滴滴出行 | 海量數(shù)據(jù)背后的高可用架構

系統(tǒng)APS和服務層有五層代碼

如上圖,一個系統(tǒng)APS和服務層有五層代碼,通過水平擴展加機器也解決不了問題。在業(yè)務層,沒[[191200]]辦法做水平擴展,必須做有狀態(tài)的變化,部署帶有分組功能的一致性Hash的Cache。

 

滴滴出行 | 海量數(shù)據(jù)背后的高可用架構

靜態(tài)內(nèi)容前置到CDN

如上圖,為了具備更大的伸縮性需要把靜態(tài)內(nèi)容前置到CDN。在服務端即使做擴展,量還是有限,讀的請求,讀的數(shù)據(jù)往前推,最終推到CDN上。CDN體系比較多且有地域性,可抗百萬級別的流量,但要解決冗余帶來的時效性、一致性的問題。這樣做帶來的好處,除提高伸縮性,還節(jié)省帶寬,節(jié)點分散,可用性更高。這里提醒下,CDN可用性需要做評估,如不是自建,需要讓提供CDN的供應商給出可用性指標,避免后續(xù)維系困難。

[[191201]]

滴滴出行 | 海量數(shù)據(jù)背后的高可用架構

熱點偵測流程圖

如上圖,是熱點偵測流程圖。 前臺系統(tǒng)到后臺系統(tǒng),整個請求是有鏈路的,一個請求從發(fā)起最終到服務端,到數(shù)據(jù)庫層中間需經(jīng)歷多層,過程中存在時間差,特定情況下,會有1-2秒延時。利用這一點,當前端請求自導到接受層時,做實時熱點偵測,當發(fā)現(xiàn)接收層發(fā)生變化,可及時通過認證等手段對這個請求做標記,把熱點數(shù)據(jù)記錄下來。之后,把熱點數(shù)據(jù)的信息通知下一個系統(tǒng),這樣就可起到從上游系統(tǒng)發(fā)現(xiàn)問題,保護下游的目的。當發(fā)現(xiàn)某個請求特別熱時,提前對它做攔截。熱點數(shù)據(jù)通過實時發(fā)現(xiàn),日志采集過來,做統(tǒng)計,然后把這個熱點數(shù)據(jù)再導到寫數(shù)據(jù)系統(tǒng)的后端系統(tǒng)cache中,這樣可保護后端的部分熱點系統(tǒng)。1%的熱點會影響99%的用戶,這種情況在電商是特別明顯的,如某個商品特別熱賣,商品請求流量占全網(wǎng)流量很大部分。且上屏容易產(chǎn)生單點,查數(shù)據(jù)庫時將定在同一機器。這樣很容易導致某個商品會影響整個網(wǎng)站的所有商品。所以要在數(shù)據(jù)庫做保護,如在本地做cache、服務層做本地cache、或者在數(shù)據(jù)庫層單獨做一個熱點庫等。

大流量系統(tǒng)的高可用迭代這里需要注意的點有熱點隔離、先做數(shù)據(jù)的動靜分離、將99%的數(shù)據(jù)緩存在客戶端瀏覽器、將動態(tài)請求的讀數(shù)據(jù)cache在web端、對讀數(shù)據(jù)不做強一致性校驗、對寫數(shù)據(jù)進行基于時間的合理分片、實時熱點發(fā)現(xiàn)、對寫請求做限流保護、對寫數(shù)據(jù)進行強一致性校驗等。

高可用架構建設的經(jīng)驗:體系化、積累和沉淀

通過多年的高可用架構建設,這里有一些經(jīng)驗值得分享。最大的體會就是需要做穩(wěn)定性體系化建設,包括建立規(guī)范和責任體系。其次就是工具要完善和體系化,以及需要配套的組織保障。

建議在責任體系的建設方面,公司一定每年都要制定高可用指標(KPI)、故障等級也要明晰,影響多少客戶都要做描述、責任和榮耀體系也同等重要,這是個長期且苦逼的事。 工具方面,要完善且體系化,做規(guī)范,做KPI,最終要做到工具化,通過工具化把流程、規(guī)范能固定。工具要體系化,像全機壓測,單機壓測等等都可做工具。

一個高可用架構的建設,不是一朝一夕,需要各方面積累和沉淀,一定要注意以下三方面的處理流程:

關于變更:在變更之前必須制定回滾方案,涉及到對變更內(nèi)容設置開關,出現(xiàn)問題可快速通過開關關閉新功能;接口變更、數(shù)據(jù)結構變更、回滾要考慮第三方依賴,在變更之中出現(xiàn)問題,第一時間回滾。

指導原則:將故障清晰描述和暴露出來,獲取第一手資料,找到問題反饋源頭,解決問題,消除故障同時找到對應系統(tǒng)和業(yè)務的直接負責人。

處理流程:問題發(fā)現(xiàn)后第一時間上報到“消防群、組建應急處理小組、跨團隊合作,通知到對方系統(tǒng)的負責人,P1故障要通知到客服與公關接口人,盡量做到集中辦公,問題處理完畢,立即總結和制定改進方案、系統(tǒng)TL負責,改進方案的執(zhí)行情況。

以上內(nèi)容根據(jù)君山老師在WOTA2017 “高可用架構”專場的演講內(nèi)容整理。

【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】

責任編輯:王雪燕 來源: 51CTO
相關推薦

2017-12-01 11:00:16

WOTD滴滴出行賴春波

2016-05-24 16:47:04

滴滴出行分布式架構設計

2016-04-07 10:35:46

架構設計架構師滴滴出行

2016-11-24 10:00:55

華為敏捷網(wǎng)絡

2016-04-15 00:47:14

滴滴出行架構師架構設計

2019-06-27 09:55:36

微服務架構滴滴出行

2017-06-30 15:33:57

大數(shù)據(jù)數(shù)據(jù)分析用戶評論

2017-11-02 10:10:00

服務器滴滴車主APP異常

2017-12-02 18:53:27

滴滴出行業(yè)務中臺對策

2017-07-04 16:13:04

滴滴出行

2021-07-08 05:42:01

滴滴出行網(wǎng)絡安全數(shù)據(jù)安全

2021-07-05 06:10:55

滴滴出行網(wǎng)絡安全數(shù)據(jù)安全

2018-01-23 13:59:30

滴滴出行

2017-03-13 11:39:00

WOTWOTA高可用架構

2017-05-05 16:10:39

滴滴出行斯坦福人工智能

2021-04-30 14:54:33

大數(shù)據(jù)五一交通

2021-07-07 15:28:02

滴滴出行支付寶微信小程序
點贊
收藏

51CTO技術棧公眾號

久久久噜噜噜久久久| 欧美 国产 日本| 黄网在线免费| 91日韩一区二区三区| 国产伦精品一区二区三区免费视频 | 在线播放亚洲一区| 7777精品伊人久久久大香线蕉的| 999久久欧美人妻一区二区| 免费理论片在线观看播放老| 国产精品日产欧美久久久久| 免费拍拍拍网站| 日韩精品免费专区| 久久视频在线观看中文字幕| 91精品秘密在线观看| 日韩女优人人人人射在线视频| 天堂99x99es久久精品免费| 久久久精品久久| 国产精品一区二区三区www| 精品国产一区av| 国产一区2区在线观看| 亚洲第一区视频| 色婷婷狠狠五月综合天色拍| 欧美福利在线观看| 日韩精品三级| 欧美精品videos另类日本| 韩国女主播一区二区三区| 欧美一级电影免费在线观看| 亚州国产精品| 国产成人鲁鲁免费视频a| 九九久久电影| 成人精品久久久| 欧美福利电影在线观看| 国产精品福利视频| 久久久亚洲一区| www.国产亚洲| 国产欧美日本一区二区三区| 美日韩在线观看| 婷婷六月综合网| 99免在线观看免费视频高清| 91麻豆精品国产91久久久资源速度 | 精品视频在线播放免| 日本美女久久| 3344国产精品免费看| 欧美韩国日本在线观看| 成人国产1314www色视频| 午夜在线观看免费一区| 熟女视频一区二区三区| 国产精品乱码久久久久久| 成视频在线免费观看| 欧美丰满少妇xxxxx高潮对白| 国产三级电影在线播放| 色综合视频一区中文字幕| 999国产精品永久免费视频app| 欧美久久综合性欧美| av亚洲精华国产精华精华| 性直播在线观看| 欧美丰满美乳xxx高潮www| 久久影视精品| 国产在线拍揄自揄视频不卡99| 久久成人久久鬼色| 国产国语**毛片高清视频| 欧美一区二区私人影院日本| 一区二区三区四区精品视频| 国产精品久久久一区二区三区| 夫妻av一区二区| 天天夜夜亚洲| 国产亚洲综合久久| 波多野结衣在线观看一区二区| 日本一区网站| 久久网站热最新地址| 日本免费视频www| 欧美精品18+| 日韩综合在线| 欧美激情亚洲国产| аⅴ资源天堂资源库在线| 欧美日韩精品欧美日韩精品一综合| 国产综合色区在线观看| 91黑丝在线观看| 国产一区三区在线播放| 亚洲欧美三级伦理| 欧美日韩导航| 裸体女人亚洲精品一区| 黑人精品视频| 欧洲视频一区二区| 久久久久久久久免费视频| 亚洲第一精品自拍| 天天色综合天天色| 国产精品久久久久桃色tv| 91av在线免费播放| 成人羞羞动漫| 国产99视频在线观看| 秋霞在线视频| 亚洲欧洲在线观看av| 男人插女人欧美| 亚洲成人av一区二区| 男人j进女人j| 国产精品日本| 国产精品一区二区久久久久| 人人做人人爽| 久久久久久久综合日本| 老司机在线视频二区| 久久久女人电视剧免费播放下载| 91精品国产自产观看在线| 久久影院理伦片| 日韩avvvv在线播放| 国产91免费看片| 亚洲一级大片| 成人免费网视频| 亚洲国产精品二十页| 在线观看av片| 欧美黄色免费网站| 丁香六月久久综合狠狠色| 免费a级人成a大片在线观看| 91欧美视频网站| 亚洲伦理在线精品| 精品亚洲免a| 亚洲精品中文字幕无码蜜桃| 国产亚洲欧洲黄色| 国产精品88av| 日本黄色免费在线| 深夜福利成人| 精品国产乱码久久久久久夜甘婷婷| 精品91视频| 成人av电影观看| 成人资源av| 91激情五月电影| 精品91在线| 99热国产在线中文| 欧美性大战久久久久| 欧美日韩亚洲丝袜制服| 99久久久久| 国产黄色片在线播放| 国产综合色一区二区三区| 欧美日韩一区三区四区| 精品动漫3d一区二区三区免费| 午夜小视频在线| 蜜桃av噜噜一区二区三| 精品盗摄一区二区三区| 国产精品一区二区三区四区| 国产91亚洲精品久久久| 欧美在线观看www| 欧美猛男性生活免费| 亚洲欧美一区二区视频| jlzzjlzz亚洲女人| 日本天堂在线| 日本一区视频在线播放| 亚洲男子天堂网| 97久久久精品综合88久久| 日韩成人综合网站| 美女在线视频一区二区| 国产精品高潮呻吟久久av黑人| 黄网站色欧美视频| 欧美日韩一区二区国产| free性欧美hd另类精品| 亚洲人成网站在线观看播放 | 国产精品igao激情视频| 久久精品99国产精品酒店日本| 国产午夜亚洲精品羞羞网站| 成人精品动漫一区二区三区| 天堂av免费观看| 国产欧美综合精品一区二区| 亚洲风情亚aⅴ在线发布| 91视频国产资源| 婷婷综合成人| 国产毛片在线看| 日韩在线视频在线| 91豆花精品一区| 欧美三级日韩在线| 国产成人精品亚洲午夜麻豆| 老司机aⅴ在线精品导航| 四虎精品在永久在线观看| 欧美日韩国产精品一区二区| 最近免费中文字幕视频2019| 一区二区三区不卡视频| 久久中文字幕一区二区三区| 成人一级视频| 可以直接在线观看的av| 欧美黄色免费网址| 成人久久一区二区三区| 日韩精品在线免费| 一区二区久久久久| 精品夜夜嗨av一区二区三区| 国产毛片一区二区三区| 免费一二一二在线视频| 久草影视在线| 嫩草影院中文字幕| 国产精品视频公开费视频| 亚洲国产另类久久精品| 国产精品久久久久久久久免费樱桃 | caoporen国产精品视频| 五月精品视频| 国产日韩另类视频一区| 色噜噜成人av在线| 国产在线导航| 青青草原成人| 成人h猎奇视频网站| 69174成人网| 亚洲中文字幕无码一区二区三区 | 午夜日韩av| 高清毛片在线观看|