DoorDash將其騎手入職系統(tǒng)重新設(shè)計(jì)成了一個(gè)統(tǒng)一、模塊化的工作流程平臺(tái),這一設(shè)計(jì)旨在加速全球業(yè)務(wù)擴(kuò)張并消除地區(qū)性差異帶來(lái)的復(fù)雜性。新的架構(gòu)用一種可組合、基于步驟的協(xié)調(diào)模型取代了原有的分散式舊系統(tǒng),從而能夠在不同市場(chǎng)提供一致性的入職體驗(yàn),同時(shí)降低工程開發(fā)成本。

根據(jù)LinkedIn上一篇宣布這一舉措的文章

隨著DoorDash業(yè)務(wù)擴(kuò)展到更多國(guó)家,騎手的入職流程變得越來(lái)越難以管理,且各地的入職流程也缺乏一致性。我們重新設(shè)計(jì)了這個(gè)入職系統(tǒng),將其打造成了一個(gè)統(tǒng)一、靈活的平臺(tái),這樣既能幫助我們更快地進(jìn)入新市場(chǎng),又能為全球范圍內(nèi)的騎手提供更加可靠、符合當(dāng)?shù)匦枨蟮娜肼汅w驗(yàn)。

此前,隨著DoorDash在國(guó)際市場(chǎng)的擴(kuò)張,入職流程是逐漸演變而來(lái)的,這導(dǎo)致了多個(gè)API版本的出現(xiàn)、針對(duì)不同國(guó)家的硬編碼流程、重復(fù)的業(yè)務(wù)邏輯以及緊密耦合的依賴關(guān)系。要追蹤申請(qǐng)者的進(jìn)展,就需要協(xié)調(diào)不同的數(shù)據(jù)表,這使得運(yùn)營(yíng)風(fēng)險(xiǎn)增加,部署工作也變得更加復(fù)雜。每當(dāng)有新市場(chǎng)加入時(shí),額外的補(bǔ)丁又會(huì)進(jìn)一步增加維護(hù)工作的難度。

為了解決這些問(wèn)題,DoorDash將入職流程重新設(shè)計(jì)成了一個(gè)由可重用的模塊組成的配置型工作流程引擎。每個(gè)模塊都包含了自身的業(yè)務(wù)邏輯,包括驗(yàn)證規(guī)則、與供應(yīng)商的集成方式、完成標(biāo)準(zhǔn)以及錯(cuò)誤處理機(jī)制。中央?yún)f(xié)調(diào)系統(tǒng)會(huì)根據(jù)明確的工作流程定義來(lái)順序執(zhí)行這些模塊,這樣就可以通過(guò)配置來(lái)調(diào)整不同地區(qū)的具體操作流程,而無(wú)需修改代碼。

統(tǒng)一化的騎手入職系統(tǒng)的高層架構(gòu)圖(來(lái)源:DoorDash官方博客文章

該平臺(tái)引入了一個(gè)統(tǒng)一的狀態(tài)管理系統(tǒng),這個(gè)系統(tǒng)為申請(qǐng)者的進(jìn)展情況提供了統(tǒng)一、準(zhǔn)確的信息來(lái)源。各個(gè)模塊會(huì)分別更新自己標(biāo)準(zhǔn)化的狀態(tài)信息,比如“進(jìn)行中”、“已完成”或“跳過(guò)”。工作流程引擎會(huì)根據(jù)這些狀態(tài)信息來(lái)確定下一步該執(zhí)行什么操作,從而簡(jiǎn)化了重試邏輯,并在允許的情況下實(shí)現(xiàn)安全的并行處理。

步驟模塊的狀態(tài)轉(zhuǎn)換流程圖(來(lái)源:DoorDash博客文章

2025年1月,DoorDash的工程師們首先將美國(guó)的入職流程遷移到了新的架構(gòu)中,隨后這一方案又推廣到了澳大利亞、加拿大、波多黎各和新西蘭。由于工作流程具有可組合性,且各個(gè)步驟模塊也具備很高的重復(fù)使用價(jià)值,因此每次遷移所需要進(jìn)行的額外開發(fā)工作都非常少,在實(shí)施過(guò)程中也沒(méi)有出現(xiàn)任何功能退化或入職流程中斷的情況。這種分階段進(jìn)行的遷移驗(yàn)證了新系統(tǒng)在不同監(jiān)管環(huán)境和運(yùn)營(yíng)環(huán)境中的適用性。

該架構(gòu)還支持復(fù)合步驟的設(shè)計(jì),這意味著可以將多個(gè)具體的任務(wù)組合成一個(gè)邏輯單元。這種靈活性使得不同市場(chǎng)可以根據(jù)當(dāng)?shù)赜脩舻捏w驗(yàn)需求或合規(guī)要求來(lái)調(diào)整入職流程,而無(wú)需改變底層的業(yè)務(wù)邏輯。各個(gè)獨(dú)立團(tuán)隊(duì)可以負(fù)責(zé)開發(fā)特定的模塊,并自主對(duì)其進(jìn)行優(yōu)化和改進(jìn),只要他們遵守工作流程層所規(guī)定的接口規(guī)范即可。

通過(guò)多年的實(shí)踐,DoorDash總結(jié)出了幾條重要的經(jīng)驗(yàn):盡早為全球范圍內(nèi)的應(yīng)用進(jìn)行設(shè)計(jì)、遵循基本的設(shè)計(jì)原則、投資于可重復(fù)使用的模塊以及制定明確的數(shù)據(jù)交互規(guī)范,這些都有助于構(gòu)建一個(gè)易于維護(hù)的架構(gòu)。優(yōu)先確保系統(tǒng)的向后兼容性并明確各模塊的負(fù)責(zé)團(tuán)隊(duì),也是保證遷移過(guò)程中各個(gè)市場(chǎng)都能順利開展入職流程的重要措施。

這種重新設(shè)計(jì)的架構(gòu)反映了整個(gè)行業(yè)正在朝著模塊化、以工作流程為導(dǎo)向的方向發(fā)展——這樣的架構(gòu)將協(xié)調(diào)工作與執(zhí)行邏輯分離開來(lái)。可組合的架構(gòu)通常被用來(lái)降低系統(tǒng)各部分之間的耦合度,并幫助企業(yè)實(shí)現(xiàn)國(guó)際化擴(kuò)張。DoorDash表示,未來(lái)的改進(jìn)措施可能包括動(dòng)態(tài)的工作流程配置、針對(duì)分階段部署而設(shè)計(jì)的步驟版本管理機(jī)制,以及用于處理地區(qū)差異的操作工具,而這些都不需要通過(guò)代碼更新來(lái)實(shí)現(xiàn)。

Comments are closed.