文章來源于公眾號阿里巴巴中間件 ,作者不銘
物流系統(tǒng)的難題
菜鳥的物流系統(tǒng)脫胎于天貓退子、共享交易瘸味,系統(tǒng)之間存在著"打斷腿連著皮"的緊密的聯(lián)系,多年來雙方配合默契挤庇,承擔(dān)著整個泛電商業(yè)務(wù)最核心的鏈路钞速。
隨著集團業(yè)務(wù)的蓬勃發(fā)展,線上購物更加深入人心嫡秕,在每年雙十一訂單峰值紀錄不斷被打破的背后渴语,技術(shù)投入和成本也在不斷增加,特別是近幾年昆咽,支付的能力提升已經(jīng)漸漸可以和下單持平驾凶,這對物流系統(tǒng)的壓力也越來越大。交易和物流兩者間密不可分的技術(shù)臍帶逐步變成了纏繞在菜鳥腳上的鏈條掷酗。
雙十一的巨大成本壓力
僅分析2015年雙十一峰值背后的業(yè)務(wù)數(shù)據(jù)调违,其中0點起創(chuàng)建的訂單,在前一個小時完成發(fā)貨的訂單僅有幾十萬,相比支付訂單量可以說九牛一毛汇在,可以看出翰萨,支撐大流量高并發(fā)的訂單創(chuàng)建,并非物流領(lǐng)域自身業(yè)務(wù)的剛需驅(qū)動糕殉,而更多的是為了保障交易-支付-物流鏈路的穩(wěn)定亩鬼。
再從業(yè)務(wù)場景上來看殖告,物流在雙十一是以單據(jù)驅(qū)動的核心業(yè)務(wù),即發(fā)貨雳锋。發(fā)貨對應(yīng)的是實物的實操業(yè)務(wù)黄绩,需要大量的人力物力投入,這種物理空間上的線下協(xié)同能力玷过,具有流量相對平穩(wěn)爽丹,無明顯峰值的特點,整個業(yè)務(wù)流程復(fù)雜辛蚊、業(yè)務(wù)執(zhí)行周期長粤蝎、參與角色較多。從用戶的核心訴求來說袋马,用戶只關(guān)心交易訂單是否成功創(chuàng)建初澎,而物流訂單是否能馬上創(chuàng)建出來,并不是剛需虑凛。因此碑宴,如果交易訂單的創(chuàng)建峰值每年持續(xù)上漲,物流系統(tǒng)就需要對等部署同樣的機器來保證同步鏈路的順利執(zhí)行桑谍,從物流業(yè)務(wù)的特點來說延柠,這不是必須的,對一個非剛需的場景锣披,每年投入大量的成本來保證同步鏈路贞间,是非常不明智的,物流系統(tǒng)的架構(gòu)升級已經(jīng)刻不容緩雹仿。
RocketMQ——菜鳥架構(gòu)師的選擇
這也是菜鳥的系統(tǒng)架構(gòu)師王維在 2016 年雙十一前面對的最大挑戰(zhàn)榜跌,那一年雙十一的訂單創(chuàng)建峰值要從 15 年的 18 w 漲到 30 w。他要做一次意義重大的升級盅粪,讓交易和菜鳥的業(yè)務(wù)能更清晰的劃清業(yè)務(wù)模型和鏈路钓葫,讓天貓快速激增的系統(tǒng)流量不再讓菜鳥系統(tǒng)追趕,讓菜鳥能專注去完成物流領(lǐng)域內(nèi)的事情票顾,讓天貓交易能更專注的保障交易鏈路的穩(wěn)定础浮。
在雙十一訂單峰值的要求下, DB 和 REDIS 顯然不能滿足異步解耦的要求奠骄,因此王維將目光鎖定在了 RocketMQ 上豆同,一個在阿里集團內(nèi)部廣泛使用的分布式消息中間件。RocketMQ 在阿里巴巴已經(jīng)經(jīng)受了雙十一多年的的洗禮含鳞,服務(wù)性能已經(jīng)是世界領(lǐng)先水平影锈,可以支持用戶億級的堆積,同時客戶端也提供完善的 SDK 讓用戶能做到精確的控速消費,在架構(gòu)解耦和削峰填谷上鸭廷,有明顯的優(yōu)勢枣抱。使用 RocketMQ 做異步解耦,物流訂單中心在滿足自身領(lǐng)域業(yè)務(wù)的前提下辆床,只要保持一個較高水位平穩(wěn)消化支付的交易訂單流量佳晶,無需承受交易支付的高峰,既可以減少大量的人力物力成本投入讼载,可以規(guī)避同步依賴時的穩(wěn)定性風(fēng)險轿秧。兩個系統(tǒng)保持良好的溝通,更加專注做好自己的事咨堤。簡單說菇篡,如果交易創(chuàng)建的峰值是50w/s, 持續(xù)20分鐘,如果物流系統(tǒng)通過 RocketMQ 控制消費速度一喘,比如保證8w/s的消費逸贾,那么也可以在2小時內(nèi)消費完所有的數(shù)據(jù),對用戶來說津滞,整個過程也是無損無感的。與消息中間件團隊深度合作灼伤,充分利用 MQ 削峰填谷的作用后触徐,在 2016 年雙十一前,通過 2 個的月的開發(fā)狐赡、測試撞鹉、驗證、灰度等工作后颖侄,王維成功推動了菜鳥系統(tǒng)架構(gòu)從電商高并發(fā)向更加貼合物流作業(yè)的特點轉(zhuǎn)型鸟雏。16 年后,在電商持續(xù)攀高的下單峰值背景下(4倍增長)览祖,菜鳥物流系統(tǒng)峰值 QPS 保持不變孝鹊,節(jié)省了大量技術(shù)成本,并且為未來多年的成本降低奠定了基礎(chǔ)展蒂。
作者信息:
周禮又活,花名:不銘,阿里云智能技術(shù)專家 锰悼。主要負責(zé)阿里云消息中間件的研發(fā)工作柳骄,關(guān)注分布式消息服務(wù)、云原生等技術(shù)方向箕般。
本文縮略圖:icon by 白小強