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