香蕉久久久久久久av网站,天天爽夜夜爽人人爽qc,色www永久免费视频,五月六月丁香婷婷激情,少妇性l交大片欧洲热妇乱xxx

首頁(yè)  /   最新動(dòng)態(tài)  /   行業(yè)資訊  /  

拼車日滴滴派單的那些事(轉(zhuǎn)載)

2020-04-01 10:39:19     行業(yè)資訊

2019年11月29日,在滴滴拼車上線4周年之際,滴滴發(fā)布全新的拼車產(chǎn)品,同時(shí)宣布2019年12月3日在北京、上海、廣州、成都等26個(gè)城市推出拼成一折的活動(dòng),打造首個(gè)“全民拼車日”。面對(duì)類似雙11的一折促銷活動(dòng),如何應(yīng)對(duì)瞬間的流量峰值,以及平滑、高效的實(shí)現(xiàn)司乘撮合,本文就滴滴的派單引擎來(lái)闡述這些問(wèn)題的解決思路。


 0.

目錄

  


  1. 背景

  2. 滴滴分單架構(gòu)概述

     ○ 分單模式

     ○ 滴滴分單架構(gòu)

  3. 拼車日帶來(lái)的挑戰(zhàn)

     ○ 拼車原生屬性

     ○ 拼成出發(fā)預(yù)約模式

     ○ 服務(wù)化架構(gòu)

  4. 穩(wěn)定性保障之路

     ○ 架構(gòu)優(yōu)化

     ○ 拼成出發(fā)預(yù)約模式 - 臨近指派

     ○ 過(guò)濾邏輯優(yōu)化 - 架構(gòu)與性能的折衷

     ○ 超時(shí)重試配置化

     ○ 預(yù)案建設(shè)

     ○ 全鏈路壓測(cè)

     ○ 監(jiān)控告警

     ○ 告警

     ○ 監(jiān)控

     ○ 集中值班

     ○ 通報(bào)機(jī)制

     ○ 快速?zèng)Q策方案擬定

  5. 展望

      背景

     11月29日,在滴滴拼車上線4周年之際,滴滴發(fā)布全新的拼車產(chǎn)品。同時(shí)宣布12月3日將在北京、上海、廣州、成都等26個(gè)城市推出拼成打一折的活動(dòng),打造首個(gè)“全民拼車日”。

     拼車推出新模式“拼成出發(fā)”和拼成打一折的活動(dòng)給分單引擎帶來(lái)成倍的壓力增長(zhǎng),本文介紹其中的挑戰(zhàn)。


     滴滴分單架構(gòu)概述

     滴滴分單引擎主要做的是司機(jī)和訂單的匹配,也就是來(lái)決策如何更好的將用戶的訂單分配給司機(jī)。

     ▍分單模式

     從分單模式上,主要抽象為獨(dú)乘分單和合乘分單(拼車分單):

  

網(wǎng)約車牌照申請(qǐng)_網(wǎng)約車系統(tǒng)開發(fā)_共享汽車系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)_跑腿系統(tǒng)開發(fā)_貨運(yùn)系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)


     獨(dú)乘分單解決的是單個(gè)訂單和司機(jī)的最優(yōu)決策分單,分為多種場(chǎng)景模式,目前承載了滴滴快車、專車、出租車、豪華車的獨(dú)乘分單業(yè)務(wù)。

     對(duì)于拼車單,會(huì)將順路的訂單進(jìn)行打成一個(gè)“包”,在獨(dú)乘分單的基礎(chǔ)上,拼車分單還要解決“包”和司機(jī)的最優(yōu)決策分單,承載了目前快車拼車、出租車拼車、跨城拼車的合乘分單業(yè)務(wù)。

     ▍滴滴分單架構(gòu)

     分單整體流程如漏斗,訂單司機(jī)對(duì)會(huì)從頂層,層層向下篩選,最終形成一個(gè)個(gè)可匹配的訂單司機(jī)對(duì)。

  

網(wǎng)約車牌照申請(qǐng)_網(wǎng)約車系統(tǒng)開發(fā)_共享汽車系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)_跑腿系統(tǒng)開發(fā)_貨運(yùn)系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)


    假設(shè)參與計(jì)算的訂單有1000,司機(jī)有4000,那么進(jìn)入第一層的訂單司機(jī)對(duì)數(shù)是400萬(wàn),計(jì)算壓力與訂單數(shù)和司機(jī)數(shù)的乘積成正比。

    ③拼車日帶來(lái)的挑戰(zhàn)

    滴滴分單引擎主要做的就是司機(jī)和訂單的匹配,所以司機(jī)訂單匹配計(jì)算量基本上表征了整個(gè)系統(tǒng)的壓力。

    活動(dòng)當(dāng)天:司機(jī)訂單匹配計(jì)算量峰值相比日常峰值增長(zhǎng)2.24倍,其中拼車計(jì)算量相比日常峰值增長(zhǎng)6.6倍。

    總結(jié)下來(lái)主要是以下幾方面的原因:

    ▍拼車原生屬性

    對(duì)于一個(gè)普通的快車單來(lái)說(shuō),分給一個(gè)司機(jī)之后,在這個(gè)司機(jī)快到達(dá)目的地之前,這個(gè)司機(jī)可以認(rèn)為不參與分單了,對(duì)于系統(tǒng)壓力變小。

    但是對(duì)于一個(gè)拼車單來(lái)說(shuō),分給一個(gè)司機(jī)之后,這個(gè)司機(jī)會(huì)繼續(xù)進(jìn)到分單系統(tǒng)里面來(lái),和別的拼車單執(zhí)行“拼”的邏輯,所以相比于快車單,司機(jī)的匹配周期更長(zhǎng),計(jì)算也更復(fù)雜,除了考慮司機(jī)和乘客的匹配外、還需要考慮乘客和乘客的順路度。

    ▍拼成出發(fā)預(yù)約模式

    在正常情況下,一個(gè)快車單的生命周期只有有限幾分鐘,生命周期內(nèi)沒(méi)應(yīng)答,就會(huì)自動(dòng)取消,那么系統(tǒng)就沒(méi)有壓力了。

    拼成出發(fā),分為隨時(shí)可走和預(yù)約模式,預(yù)約模式最長(zhǎng)生命周期1天,雖然初期預(yù)約單占比不高,但隨著時(shí)間推移,預(yù)約單越堆積越多,系統(tǒng)壓力越來(lái)越大。

    拼成出發(fā)只能分配載人車,或者作為一個(gè)包分給司機(jī),本身?xiàng)l件就更苛刻,在訂單池里面的存活時(shí)間也更長(zhǎng)一些。

    總結(jié)來(lái)說(shuō),拼成出發(fā)模式使得訂單的生命周期更長(zhǎng)。

    ▍服務(wù)化架構(gòu)

    目前的司機(jī)訂單過(guò)濾架構(gòu)簡(jiǎn)化圖如下:

  

網(wǎng)約車牌照申請(qǐng)_網(wǎng)約車系統(tǒng)開發(fā)_共享汽車系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)_跑腿系統(tǒng)開發(fā)_貨運(yùn)系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)


    整體分單流程是一種漏斗形式,輸入是需要匹配的司機(jī)和訂單,輸出是匹配成功的匹配對(duì)。

    第一層漏斗是通用過(guò)濾層,對(duì)于通過(guò)了通用過(guò)濾模塊的司機(jī)訂單組合,才會(huì)漏到拼成過(guò)濾層進(jìn)行過(guò)濾。

    無(wú)論是通用過(guò)濾模層還是拼車過(guò)濾層,都是先進(jìn)行過(guò)濾,對(duì)于沒(méi)有被過(guò)濾的司機(jī)訂單組合,再進(jìn)行訪問(wèn)下游的工作。

    對(duì)于在2.1部分過(guò)濾的司機(jī)訂單組合來(lái)說(shuō),在1.2部分訪問(wèn)的下游數(shù)據(jù)很多是無(wú)用的,也就是說(shuō)給下游帶來(lái)的壓力是浪費(fèi)的,這也是服務(wù)化架構(gòu)引入的代價(jià)。

    拼成出發(fā)模式因?yàn)槠闯闪瞬拍芘绍?,而是否可以拼成的邏輯都在拼車過(guò)濾模塊中,隨著時(shí)間的積累,能通過(guò)1.1但是無(wú)法通過(guò)2.1的司機(jī)訂單組合越來(lái)越多,這也是下游壓力增長(zhǎng)過(guò)大的一個(gè)原因。

    穩(wěn)定性保障之路

    我們的穩(wěn)定性保障工作主要分為架構(gòu)優(yōu)化、容量評(píng)估、預(yù)案建設(shè)、監(jiān)控告警、全鏈路壓測(cè)幾個(gè)部分:

    ▍架構(gòu)優(yōu)化

    我們對(duì)現(xiàn)有架構(gòu)進(jìn)行了審視:

    其中拼成出發(fā)預(yù)約模式和服務(wù)化架構(gòu)引入的代價(jià)部分,給下游帶來(lái)的壓力過(guò)大,不能完全按照現(xiàn)有模式進(jìn)行擴(kuò)容,我們需要對(duì)現(xiàn)有架構(gòu)進(jìn)行優(yōu)化。

    拼成出發(fā)預(yù)約模式 - 臨近指派

    針對(duì)拼成出發(fā)預(yù)約模式,用戶發(fā)單之后,訂單會(huì)同時(shí)進(jìn)入分單的訂單池和拼車的拼友池。拼友池:進(jìn)入拼友池的訂單,拼車打包模塊會(huì)給當(dāng)前用戶尋找拼友,也就是進(jìn)行打包操作。

    訂單池:進(jìn)入訂單池的訂單,就會(huì)進(jìn)入分單引擎進(jìn)行分單。但拼成出發(fā)預(yù)約模式,會(huì)在訂單出發(fā)時(shí)間的前k分鐘,才真正開始給用戶找車,在找車之前的計(jì)算都是無(wú)效的。

    針對(duì)這種情況,對(duì)拼成出發(fā)預(yù)約模式進(jìn)行了優(yōu)化,將發(fā)單進(jìn)入訂單池的操作改為臨近進(jìn)入訂單池,有效降低訂單池規(guī)模。

    過(guò)濾邏輯優(yōu)化 - 架構(gòu)與性能的折衷

    針對(duì)服務(wù)化架構(gòu)引入的代價(jià),拼車分單的同學(xué)將拼車過(guò)濾中過(guò)濾比例較高的策略,遷移到了通用過(guò)濾模塊中。這算是在現(xiàn)有架構(gòu)下,為了性能的一種妥協(xié)。

  

網(wǎng)約車牌照申請(qǐng)_網(wǎng)約車系統(tǒng)開發(fā)_共享汽車系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)_跑腿系統(tǒng)開發(fā)_貨運(yùn)系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)


    后續(xù)應(yīng)該會(huì)探討出一種更合理的架構(gòu)來(lái)解決這種問(wèn)題。

    經(jīng)過(guò)評(píng)估,上面2部分的業(yè)務(wù)架構(gòu)優(yōu)化,在同樣用戶呼叫單量的前提下,對(duì)下游的訪問(wèn)壓力可以下降50%以上。

    超時(shí)重試配置化

    為了更加靈活的控制下游的超時(shí)重試,整個(gè)分單主流程的調(diào)度周期,下游的超時(shí)時(shí)間,重試次數(shù),都實(shí)現(xiàn)了配置化,修改秒級(jí)生效。

    為了防止流量突增時(shí)引發(fā)下游雪崩,在拼車日之前,我們將整個(gè)分單主流程的下游重試都調(diào)成了1,也就是不再重試。

    ▍預(yù)案建設(shè)

    因?yàn)榛顒?dòng)中可能會(huì)有很多不可預(yù)知的事情發(fā)生,針對(duì)可能發(fā)生的異常,我們做了一系列的預(yù)案。

    預(yù)案的底線目標(biāo)是:保障評(píng)估容量?jī)?nèi)無(wú)異常,超出評(píng)估容量不被打掛;包括五部分:

    提前降級(jí)功能:活動(dòng)前操作,主要提前降級(jí)的功能

    入口預(yù)案:活動(dòng)中操作,出現(xiàn)重大風(fēng)險(xiǎn)和異常時(shí)執(zhí)行

    最小核心鏈路預(yù)案:活動(dòng)中操作,核心節(jié)點(diǎn)出現(xiàn)風(fēng)險(xiǎn)和異常時(shí)執(zhí)行

    業(yè)務(wù)指標(biāo)異常預(yù)案:活動(dòng)中,系統(tǒng)無(wú)異常,但是業(yè)務(wù)指標(biāo)出現(xiàn)異常

    崩潰恢復(fù)預(yù)案:核心服務(wù)出現(xiàn)雪崩,如何快速恢復(fù)

    每項(xiàng)預(yù)案都需要提前演練,保證預(yù)案有效、且符合預(yù)期。

    ▍全鏈路壓測(cè)

    全鏈路壓測(cè)是評(píng)估系統(tǒng)容量最有效的手段,拼車日一共進(jìn)行了8次演練,9次正式壓測(cè),發(fā)現(xiàn)了45個(gè)有效問(wèn)題。

    經(jīng)過(guò)一輪又一輪的壓測(cè),大家對(duì)自己的服務(wù)容量都有了更清晰的認(rèn)識(shí)。

    在壓測(cè)過(guò)程中,到達(dá)系統(tǒng)容量之后,我們還會(huì)繼續(xù)加壓,觀察多個(gè)系統(tǒng)在系統(tǒng)超限情況下,是否會(huì)被打掛。

    在壓測(cè)過(guò)程中,我們也會(huì)演練提前制定好的預(yù)案,把壓測(cè)場(chǎng)景當(dāng)成活動(dòng)日看待。

    ▍監(jiān)控告警

    告警

    拼成日之前,我們重新梳理了各模塊告警。分以下幾大類:

    機(jī)器信息類:包括cpu、磁盤、句柄數(shù)、網(wǎng)卡錯(cuò)誤、協(xié)議棧錯(cuò)誤

    自身服務(wù):包括存活性、服務(wù)容量水位線、服務(wù)總耗時(shí)最大值、服務(wù)各階段耗時(shí)最大值

    依賴服務(wù):包括請(qǐng)求耗時(shí)、超時(shí)或者錯(cuò)誤率、是否限流

    client端:請(qǐng)求耗時(shí)99分位、成功率

    同時(shí)對(duì)于各個(gè)告警都進(jìn)行了報(bào)警升級(jí),拼車日當(dāng)天寧可誤報(bào),不可錯(cuò)過(guò)任何一個(gè)錯(cuò)誤信息。

    針對(duì)每個(gè)告警,都有至少一個(gè)預(yù)案閾值對(duì)應(yīng),保證系統(tǒng)穩(wěn)定性。

    監(jiān)控

    除了完善系統(tǒng)各項(xiàng)指標(biāo)監(jiān)控,我們還建立了多個(gè)監(jiān)控大盤。

    拼車業(yè)務(wù)指標(biāo)大盤:各個(gè)指揮者需要實(shí)時(shí)關(guān)注該大盤。

    系統(tǒng)機(jī)器性能大盤:運(yùn)維人員需要實(shí)時(shí)關(guān)注該大盤。

    各個(gè)服務(wù)監(jiān)控:為每個(gè)服務(wù)指定負(fù)責(zé)人,實(shí)時(shí)關(guān)注。

    ▍集中值班

    通報(bào)機(jī)制

    各個(gè)方向值班長(zhǎng)需要在值班群里實(shí)時(shí)通報(bào)異常情況。

    每隔10分鐘,各個(gè)方向值班長(zhǎng)需在值班群里通報(bào)系統(tǒng)是否正常。

    快速?zèng)Q策方案擬定

    拼車日之前,已經(jīng)確定好。遇到何種問(wèn)題需上報(bào),何種問(wèn)題需立即快速解決,何種問(wèn)題需上下游配合解決。解決方案要盡可能得覆蓋異常情況。

    我們采用了扁平化的人員組織方式,以達(dá)到更高效率的問(wèn)題處理。

  

網(wǎng)約車牌照申請(qǐng)_網(wǎng)約車系統(tǒng)開發(fā)_共享汽車系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)_跑腿系統(tǒng)開發(fā)_貨運(yùn)系統(tǒng)開發(fā)_城際車系統(tǒng)開發(fā)
    展望

    拼車相對(duì)于快車對(duì)系統(tǒng)在匹配復(fù)雜度、路徑規(guī)劃等方面的挑戰(zhàn)更大,難度更大,基于這次拼車日保障的積累,我們將不斷提升能力,提供穩(wěn)定可靠的技術(shù)保障。

    文章來(lái)源:滴滴技術(shù)

標(biāo)簽: