時間緊任務(wù)重,貨拉拉架構(gòu)的升級難點(diǎn)
在演講中,亓隆基詳細(xì)講解了高質(zhì)量架構(gòu)演進(jìn)的基本規(guī)律、貨拉拉架構(gòu)面臨的痛點(diǎn)和挑戰(zhàn)以及高質(zhì)量架構(gòu)的搭建方法。他表示,一個業(yè)務(wù)的生命周期包括啟動期、發(fā)展期、平臺期、衰退期和消亡期,這個發(fā)展過程會受到康威定律(設(shè)計系統(tǒng)的架構(gòu)受制于產(chǎn)生這些設(shè)計的組織的溝通結(jié)構(gòu))、熵增定律(孤立的系統(tǒng)總是從有序變成無序)、人月神話(在延期項目中增加人力資源將會提高溝通成本而導(dǎo)致項目進(jìn)一步拖延)的限制。
“大部分業(yè)務(wù)形態(tài)會經(jīng)歷單體架構(gòu) 、服務(wù)化和平臺化、中臺化三個演進(jìn)階段,但這并非絕對,并沒有一套提高軟件生產(chǎn)力的萬能方法,因此應(yīng)根據(jù)實(shí)際情況找到適合自己組織、業(yè)務(wù)發(fā)展?fàn)顩r的架構(gòu)演進(jìn)策略。”亓隆基說。
而在架構(gòu)建設(shè)之路上,貨拉拉也并非一帆風(fēng)順。據(jù)亓隆基介紹,在實(shí)現(xiàn)貨拉拉交易履約業(yè)務(wù)架構(gòu) 2.0 升級之前,貨拉拉已經(jīng)成功將一個大單體劃分為網(wǎng)關(guān)層、業(yè)務(wù)后端和管理臺三個模塊,但隨著業(yè)務(wù)發(fā)展,這個架構(gòu)也越來越力不從心。因?yàn)轭I(lǐng)域邊界不清晰、業(yè)務(wù)架構(gòu)和技術(shù)架構(gòu)不明確,貨拉拉的高質(zhì)量架構(gòu)建設(shè)過程存在迭代協(xié)作成本高、穩(wěn)定性保障壓力大、需求開發(fā)周期長、需求支持成本高、運(yùn)行成本高等多個痛點(diǎn),同時還面臨著創(chuàng)新業(yè)務(wù)蓬勃發(fā)展導(dǎo)致需求爆滿、人力資源有限、時間緊張以及萬無一失的高標(biāo)準(zhǔn)壓力等挑戰(zhàn)。
零故障零資損遷移600億數(shù)據(jù),貨拉拉架構(gòu)升級之道
為了解決上述痛點(diǎn),貨拉拉也探索出了一套獨(dú)特的“解法”。據(jù)亓隆基介紹,這套“解法”主要包含四個方面:一是可維護(hù)性和可擴(kuò)展性解法。主要需要做到“三定”,即定架構(gòu)分層、定應(yīng)用架構(gòu)以及定核心模型;二是資源和時間解法。向管理層說清楚成本、收益和風(fēng)險、并通過清晰的項目計劃和資源投入預(yù)估報告獲取管理層支持以及做到信息透明;三是可靠性和穩(wěn)定性解法。必須遵循彈性設(shè)計(確保鏈路彈性)、快速恢復(fù)(確保系統(tǒng)自愈能力)、運(yùn)維左移(做好可觀測性設(shè)計)三個原則;四是零故障遷移解法。采用最高標(biāo)準(zhǔn)的開發(fā)測試包裝手段,借鑒流量回放的思路搭建仿真回訪系統(tǒng)。
“最終,貨拉拉技術(shù)團(tuán)隊上線10 個新核心系統(tǒng),下線 13 個系統(tǒng),新建超40張核心表,做了超150篇系分文檔分析,新建超250條核對規(guī)則,對超1700 個業(yè)務(wù)字段進(jìn)行了分析和遷移,總共遷移600億數(shù)據(jù),而這個過程全程零故障、零資損,上線之后降低20%的成本,提升50%的效率,可以說真正做到了‘有快好’。目前,這個新的架構(gòu)已經(jīng)能夠支撐像企業(yè)撮合、轉(zhuǎn)單、司機(jī)專送平臺等多種業(yè)務(wù)創(chuàng)新,為業(yè)務(wù)節(jié)約三個月以上的時間,同時還將支持貨拉拉未來五年業(yè)務(wù)的發(fā)展變化,包括多業(yè)務(wù)及多運(yùn)力組合、靈活分流下單等。”亓隆基表示。
在演講的最后,亓隆基指出,要想做好高質(zhì)量架構(gòu)設(shè)計,既需要深入了解業(yè)務(wù),探尋業(yè)務(wù)的本質(zhì),還要有敢想敢干的魄力。高質(zhì)量架構(gòu),永遠(yuǎn)在演進(jìn)的路上,每一次全局架構(gòu)升級,都是一次技術(shù)理想的實(shí)現(xiàn),也都是一次脫胎換骨的經(jīng)歷。未來貨拉拉也將始終在探索中前行,從而更好地支撐業(yè)務(wù)的快速發(fā)展以及低成本創(chuàng)新的目標(biāo)。