京東B2B業務架構演變


京東 B2B 業務的定位是讓各類型的企業都可以在京東的 B 平台上進行采購、建立采購關系。

京東 B2B 的用戶群體主要分為 2 類,一類是大 B 用戶、另一類是小 B 用戶。比如聯通、移動公司跟京東建立的采購關系,就是 B 平台的大 B 用戶;如果有一家小超市需要在京東 B 平台上進行采購,那么它就是 B 平台的小 B 用戶。

京東 B 平台需要支持各類型的用戶群,因此必須要有自己的業務系統做支撐,比如訂單、商品、價格、用戶、權限、審核等系統。

京東 B 平台的發展分為3個階段:

 

1)第一階段(2014年)

 

B2B 浪潮開始興起,京東在2014年與聯通公司達成合作,意味着京東正式邁入B2B時代的大 B 行業。

 

2)第二階段(2015-2016年)

 

農村電商開始興起,線下門店積極順應互聯網的發展趨勢,將傳統的零售搬到了線上;在這個階段,京東成立新通路事業部開展此業務,從此京東正式邁入了小 B 行業。

 

3)第三階段(2017年至今)

 

在之前大、小 B 業務的基礎上,京東的 B2B 業務在2017年得到快速發展,完美應對這個階段產生的種種挑戰,並發量、數據量均成幾十倍的增長。

業務架構 1.0 分為 3 層:

  • 業務層:主要是 B 平台的所有業務線

  • 服務層:包含訂單、價格、商品、用戶等 SOA 服務系統

  • 存儲層:使用 mysq l數據庫進行存儲

服務問題改進

 

系統耦合改進

系統耦合的問題,通過引入 jmq 消息中間件進行解決。消息無序的問題,采用樂觀鎖進行解決,主要是依靠數據的版本對比來解決。

 

數據庫改進

數據公用的問題,解決方案還是進行拆分:

  • 第一步,將各個業務系統 SOA 服務的數據,單獨存儲在自己的數據庫,訂單有訂單專門的數據庫、商品有商品專門的數據庫,服務之間互相不受影響。

  • 第二步,在第一個步拆分后,有的業務數據量單表數量還是很大,需要對表進行拆分,我們采用 jproxy(不支持分表)進行分庫,按業務的相關主鍵 id,進行 hash(id)%count(分庫數量),支持水平擴展

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM