一、京東商城整個的系統(tǒng)架構
京東商城系統(tǒng),融合了自營模式、商城模式、三方平臺等模式,跟淘寶、天貓以商城模式為主的電商系統(tǒng)相比,業(yè)務模式上要豐富很多,包括許多WMS、TMS、OMS的部分。
京東商城業(yè)務架構設計原則
1、業(yè)務平臺化
業(yè)務平臺化,相互獨立。如交易平臺、倉儲平臺、物流平臺、支付平臺、廣告平臺等 ?;A業(yè)務下沉,可復用。如用戶、商品、類目、促銷、時效等。
2、核心業(yè)務、非核心業(yè)務分離
電商核心業(yè)務與非核心業(yè)務分離,核心業(yè)務精簡(利于穩(wěn)定),非核心業(yè)務多樣化。如,主交易服務、通用交易服務 。
3、區(qū)分主流程、輔流程
分清哪些是電商的主流程。運行時,優(yōu)先保證主流程的順利完成,輔流程可以采用后臺異步的方式。避免輔流程的失敗導致主流程的回滾。如,下單時,同步調用快照,異步通知臺賬、發(fā)票 。
4、隔離不同類型的業(yè)務
交易業(yè)務是簽訂買家和賣家之間的交易合同,需要優(yōu)先保證高可用性,讓用戶能快速下單,履約業(yè)務對可用性沒有太高要求,可以優(yōu)先保證一致性 ,閃購業(yè)務對高并發(fā)要求很高,應該跟普通業(yè)務隔離。
延伸閱讀:
二、應用架構設計原則
1、穩(wěn)定性原則
一切以穩(wěn)定為中心;架構盡可能簡單、清晰;不過度設計。
2、接耦/拆分
穩(wěn)定部分與易變部門分離;核心業(yè)務與非核心業(yè)務分離;電商主流程與輔流程分離;應用與數(shù)據(jù)分離;服務與實現(xiàn)細節(jié)分離。
3、抽象化
應用抽象化:應用只依賴服務抽象,不依賴服務實現(xiàn)細節(jié)、位置;
數(shù)據(jù)庫抽象化:應用只依賴邏輯數(shù)據(jù)庫,不需要關心物理庫的位置和分片;
服務器抽象化:應用虛擬化部署,不需要關心實體機配置,動態(tài)調配資源。
4、松耦合
跨域調用異步化,不同業(yè)務域之間盡量異步接耦。