XXX同城快遞系統(tǒng)概要設(shè)計
1 設(shè)計概述
XXX同城快遞系統(tǒng)是一個提供同城快遞的下單逛尚、收單和送單的系統(tǒng)觅闽,是公司的核心業(yè)務(wù),決定了公司的主要發(fā)展方向异袄。
1.1 功能概述
系統(tǒng)的主要功能包括如下幾點:
- 用戶通過APP發(fā)起快遞下單請求并支付
- 快遞員通過APP定期上報自己的地理位置
- 系統(tǒng)受到訂單后通知5Km內(nèi)的快遞員
- 快遞員進行搶單,獲取用戶詳細地址
- 快遞員到用戶地址收取快遞并記錄:已收件
- 快遞員將快遞送到目的地并記錄:已送達
系統(tǒng)的使用者主要有普通用戶和快遞員冤灾。用例圖如下所示:
1.2 非功能約束
系統(tǒng)預(yù)計上線三個月后日訂單超過1萬前域,一年后日訂單超過50萬。
2 系統(tǒng)部署圖與整體設(shè)計
系統(tǒng)上線時預(yù)計部署15臺物理機韵吨,10個子系統(tǒng)匿垄。
2.1 系統(tǒng)部署圖
- 負載均衡服務(wù)器將APP的請求均衡轉(zhuǎn)發(fā)到網(wǎng)關(guān)集群之中
- 網(wǎng)關(guān)集群用來提供APP所需API的入口,對請求進行校驗和過濾
- 下單服務(wù)提供給用戶下單相關(guān)功能
- 搶單服務(wù)提供給快遞員定位上報和搶單相關(guān)功能
- 消息隊列提供了發(fā)布訂閱基礎(chǔ)功能
- 訂單服務(wù)用來管理訂單相關(guān)數(shù)據(jù)的訪問和更新
- 支付服務(wù)用來管理訂單支付流程以及與第三方集成功能
- 位置服務(wù)用來管理管理快遞員位置信息
- Mysql集群采用主備模式提供訂單等信息存儲
- Redis集群用作快遞員地理位置的緩存服務(wù)
2.2 下單搶單場景活動圖
如下圖归粉,用戶下單后椿疗,選擇支付方式支付,支付成功后糠悼,系統(tǒng)通知快遞員進行搶單变丧,快遞員搶單成功后,獲取到用戶的地址绢掰,前往用戶地址收取快遞,快遞送達后童擎,訂單完成滴劲。
2.3 下單搶單場景時序圖
下單搶單場景時序圖如下:
2.4 訂單狀態(tài)圖
訂單狀態(tài)圖如下