基於中臺思想的物流系統設計(一)

1、整體設計

在中臺架構中,咱們每每把一個系統劃分爲基礎能力層和產品服務層。其中,基礎能力層聚焦於穩定收斂的業務模型和基礎服務自己,不會隨着業務和前臺產品的調整發生變化,平臺產品層則專一於經過流程編排類的技術手段,將基礎能力構建成業務的解決方案,解決共性和個性化的問題。前端

基於上面所說的中臺架構思想,咱們把物流系統劃分位物流基礎能力層和物流產品服務層:緩存


本文將從宏觀上來分別介紹物流基礎能力和物流產品服務,至於微觀上對各個系統的設計則會在後續系列文章中介紹。架構

2、物流產品服務層

整個電商物流體系包含三個主要流程:用戶端流程、商家端流程和公共流程。這三個流程的交互以下圖所示併發


這三個流程中能夠進一步劃分出不一樣的業務執行節點,針對這些業務節點,咱們在物流產品服務層定義出業務接口,這些業務接口能夠經過擴展點支撐不一樣的業務特性,同時,這些業務接口組合起來又造成了一套物流業務流程。異步

上面的說法比較抽象,下面會經過對每一個業務節點的介紹,進一步說明這種設計思路。高併發

一、物流服務

物流服務,其實就是一個物流解決方案,好比快遞發貨、倉配發貨、城市配送等等。對於每個物流服務,對應都有不一樣的業務場景。好比普通電商直接使用快遞發貨就能夠了,家電等大件商品就可能要倉配發貨,而外賣則須要城市配送。咱們把物流服務定義成一個業務接口,前端業務經過不一樣的業務場景,傳入不一樣的參數,調用這個接口會給出一個特定的物流服務,這樣一來,咱們把物流服務就收斂到了一個業務接口。同時,不一樣的物流服務的運費也是不同的,即便是同一種物流服務,在不一樣的送貨地址下,也會出現不同的運費,這裏咱們也會抽象出一個運費計算的業務接口。spa

二、物流地址管理

在物流地址這塊,前端會有不一樣的地址管理需求,好比用戶手填的地址,根據經緯度保存的地址,根據IP保存的地址。咱們把這些地址需求收斂到一套地址管理的業務接口中,前端只須要傳入不一樣的參數,就能夠很方便的管理地址。設計

三、下單

下單這個業務節點主要提供物流訂單建立的邏輯。不一樣場景的物流訂單建立經過這個接口進行收斂。舉個例子:用戶在咱們的電商平臺上買完東西支付後,電商系統會發異步消息,物流系統接收後會建立一個普通的物流訂單,若是隨着業務發展,公司須要對接一些分銷商的ERP接口,讓他們直接經過ERP同步建立物流訂單,這時候就能夠複用這個接口,只不過是入參和業務類型變了,內部的建立流程會作一些擴展性調整。3d

四、發貨

發貨這個節點和上面其餘節點同樣,首先,它是一個正常物流流程中必不可少的環節,其次,它的業務玩法不少,除了最簡單的直接發貨外,還會存在拆單發貨、延遲發貨、虛擬商品發貨等等,所以,咱們會抽象出一個通用的業務接口,經過入參的不一樣和流程的擴展,去支撐不一樣的發貨。cdn

五、確認發貨

從發貨到確認發貨,中間包含不一樣的業務場景,好比快遞發貨後,商家須要等待快遞員上門取件後,才能確認發貨,對於倉配發貨,必須等倉庫確認收到指令並回傳成功後才能確認發貨,而城市配送發貨,必須等外賣小哥取件後才能確認發貨。所以,確認發貨也須要抽象出一個業務接口,以便支撐不一樣的業務場景。

六、簽收

簽收節點目前的業務場景並很少,可是它是一個必要的業務節點,所以也抽象出一個業務接口,以便支撐將來的擴展性。

七、物流詳情

物流詳情目前僅僅是查詢,業務場景並很少,可是它是一個必要的業務節點,所以也抽象出一個業務接口,以便支撐將來的擴展性。

3、物流基礎能力層

基礎能力層聚焦於穩定收斂的業務模型和基礎服務自己,它爲產品服務層提供穩定的原子接口。物流產品服務層的業務節點,映射到物流基礎能力層,就變成了4大基礎能力:物流訂單能力,物流地址能力,物流詳情能力,物流服務能力。

一、物流訂單能力

物流訂單能力定義了物流訂單的模型以及物流訂單狀態機,它會提供建立、修改、拆單、取消、關閉等原子接口,同時負責對訂單數據的存儲和檢索。物流訂單能力支撐了下單、發貨、確認收貨、簽收這些業務接口

二、物流地址能力

物流地址能力包含了四級地址庫、用戶地址、商家地址的數據存儲、檢索,這些數據經過上層業務接口,爲用戶提供了豐富的物流地址信息。

三、物流詳情能力

物流詳情能力定義了物流詳情的數據模型,並和不一樣的物流商進行對接,將不一樣物流商的數據轉換成咱們本身的標準數據,這些數據會和平臺業務數據(訂單號、用戶ID等)進行關聯,對外提供豐富的物流詳情查詢接口。

四、物流服務能力

物流服務能力定義了物流服務模型、物流公司模型、運費模板模型,爲物流產品服務層的物流服務業務接口以及運費計算提供了支持。

4、總結

本文從宏觀上介紹了基於中臺思想的物流系統設計,整個中臺架構其實就是把不變的數據模型和常常變的業務模型進行隔離,經過業務流程編排的方式將變化的業務映射到標準的底層模型中。固然,整個物流系統不只僅包含這些宏觀設計,還包含了很是多的微觀設計,好比業務接口的設計、流程編排設計、高併發高可用設計、緩存設計等等,在後續系列文章的中,咱們將從微觀層面逐一介紹這些設計。

更多文章歡迎訪問 http://www.apexyun.com/

聯繫郵箱:public@space-explore.com

(未經贊成,請勿轉載)

相關文章
相關標籤/搜索