小伙伴們哈嘍,這次其他的沈恩輝就不說了,主要就是來講講京東購物商城官網,京東運營模式解讀,以及關于京東購物商城這些的相關干貨,精心為你準備的干貨,通過這篇文章相信你能有所收貨!
京東商城系統,融合了自營模式、商城模式、三方平臺等模式,跟淘寶、天貓以商城模式為主的電商系統相比,業務模式上要豐富很多,包括許多WMS、TMS、OMS的部分。國內中小型電商公司,如果要學,最好是學習京東的業務架構,因為業務模式上相近一些。
01
超大型電商系統架構目標
1.構建超大型電商交易平臺,兼顧效率和性能,達到高人效、高時效和低成本的目標。
2.低成本,增加服務的重用性,提高開發效率,降低人力成本;利用成熟開源技術,降低軟硬件成本;利用虛擬化技術,減少服務器成本。
3.高擴展,系統架構簡單清晰,應用系統間耦合低,容易水平擴展,業務功能增改方便快捷。
4.高可用,自動化運維。整體系統可用性99.99%,單個系統可用性99.999%。全年故障時間整個系統不超過50分鐘,單個系統故障不超過5分鐘。
02
京東商城業務架構設計原則
1.業務平臺化
業務平臺化,相互獨立。如交易平臺、倉儲平臺、物流平臺、支付平臺、廣告平臺等 。基礎業務下沉,可復用。如用戶、商品、類目、促銷、時效等。
2.核心業務、非核心業務分離
電商核心業務與非核心業務分離,核心業務精簡(利于穩定),非核心業務多樣化。如,主交易服務、通用交易服務 。
3.區分主流程、輔流程
分清哪些是電商的主流程。運行時,優先保證主流程的順利完成,輔流程可以采用后臺異步的方式。避免輔流程的失敗導致主流程的回滾。如,下單時,同步調用快照,異步通知臺賬、發票 。
4.隔離不同類型的業務
交易業務是簽訂買家和賣家之間的交易合同,需要優先保證高可用性,讓用戶能快速下單,履約業務對可用性沒有太高要求,可以優先保證一致性 ,閃購業務對高并發要求很高,應該跟普通業務隔離。

京東電商系統-業務架構圖 (來源于@京東技術部)

京東業務架構實例:基礎業務下沉 (來源于@京東技術部)
03
應用架構設計原則
1、穩定性原則
一切以穩定為中心;架構盡可能簡單、清晰;不過度設計。
2、接耦/拆分
穩定部分與易變部門分離;核心業務與非核心業務分離;電商主流程與輔流程分離;應用與數據分離;服務與實現細節分離。
3、抽象化
應用抽象化:應用只依賴服務抽象,不依賴服務實現細節、位置。
數據庫抽象化:應用只依賴邏輯數據庫,不需要關心物理庫的位置和分片。
服務器抽象化:應用虛擬化部署,不需要關心實體機配置,動態調配資源。
4、松耦合。
跨域調用異步化,不同業務域之間盡量異步接耦。
非核心業務盡量異步化,核心和非核心業務之間,盡量異步接耦。
5、容錯設計。
服務自治:服務能彼此獨立修改、部署、發布和管理。避免引發連鎖反應。
集群容錯:應用系統集群,避免單點。
多機房容災:多機房部署,多活。
04
京東商城應用架構分層
表現層。包含首頁、列表頁、詳情頁。
業務流程層。商品系統、交易系統、訂單系統、財務系統、物流系統等。
服務層,服務構建層,其中包含:商品服務、交易服務、訂單服務、財務服務、物流服務。
在治理方面,包括服務質量層、數據架構層、治理層等。

京東應用架構分層 (來源于@京東技術部)
05
京東商城應用架構拆分原則
1、水平擴展。也就是復制的能力,應用系統實現多機集群、提升并發能力,數據庫進行讀寫分離,如商品讀庫、商品寫庫。
2、垂直拆分。指的是不同業務系統的拆分,如商品系統、交易系統;數據庫方面也是相應拆成商品庫、訂單庫。
3、業務分片。同業務進行分片,比如秒殺系統、常規下單系統,要分開;數據庫方面,如把訂單表按ID取模運算后分庫分表。
4、水平拆分。服務層面,功能與非功能分開,穩定業務與易變業務分開;數據庫方面,冷熱數據分離、歷史數據分離。
06
京東商城服務設計的依賴原則
1、依賴穩定的部分。穩定部分不依賴易變的部分、易變的部分可以依賴穩定的部分、堅決避免循環依賴。
2、跨域弱依賴。跨業務域調用的時候,盡可能異步弱依賴。
3、基于服務依賴。基于服務不能向上依賴流程服務;組合服務、流程服務可以向下依賴基本服務。條件是基本服務要穩定。
4、非功能性服務依賴。非功能性服務不能依賴功能性服務;功能性服務可依賴非功能性服務。條件:非功能性服務穩定。
5、平臺服務依賴。平臺服務不依賴上層應用;上層應用可依賴平臺服務;條件:平臺服務穩定。
6、核心服務依賴。核心服務不依賴非核心服務;非核心服務可依賴核心服務;條件:核心服務穩定。
07
服務設計基本原則
1、無狀態。盡量不要把狀態數據保存在本機,接口調用冪等性。
2、可復用。復用顆粒度是有業務邏輯的抽象服務,不是服務實現細節。服務引用只依賴于服務抽象。
3、松耦合。跨業務調用,盡可能異步解耦。必須同步調用時,設置超時和隊列大小。相對穩定的基本服務與易變流程服務分層。
4、可治理。制定服務契約、服務可降級、服務可限流、服務可開關、服務可監控、白名單機制。

京東商城應用架構實例圖 (來源于@京東技術部)
08
京東商城數據架構設計原則
1、統一數據視圖。保證數據的及時性,一致性、準確性、完整性。
2、數據、應用分離。應用系統只依賴邏輯數據庫;應用系統不直接訪問其它宿主數據庫,只能通過服務訪問。
3、數據異構。源數據和目標數據內容相同時,做索引異構,如商品庫不同維度。內容不同時,做數據庫異構,如訂單買家庫和賣家庫。
4、數據讀寫分離。訪問量大的數據庫做讀寫分離,數據量大的數據庫做分庫,不同業務域數據庫做分區隔離,重要數據配置備庫。
5、用Mysql等主流數據庫。除成本因素外,Mysql數據庫擴展能力強,運維積累了大量豐富經驗。
6、合理使用緩存。數據庫有能力支撐時,盡量不要引入緩存。合理利用緩存做容災。

(來源于@京東技術部)

(來源于@京東技術部)
09
京東商城技術架構總覽
1、基本平臺。數據存取方面的技術組件包括:緩存服務有JFS/Jimstore、圖片服務JSS、即時服務JDW、索引服務Search、數據庫服務DBS。
2、集成層。服務流程引擎PAF、服務中間件SAF、MQ服務JDMQ、數據庫中間件JDAL、調度服務JDWorker、業務規則服務JDRules、配置服務JDCenter、推送服務JMP。
3、質量層。監控服務UMP、日志服務Loghub、風控系統JDriskM、應用管理jdcenter。
其它還包括治理層、虛擬平臺、運營管理等等。

(來源于@京東技術部)
10
京東商城系統運維原則
1、可監控。服務的TPS和RT是否符合SLA,是否出現超預期流量。
2、應用可回滾,功能可降級。應用出現問題時,要求能回滾到上一版本,或做功能降級。
3、在線擴容。超預期流量時,應用系統可選擇在線水平擴展。
4、安全保證。確保系統和保密性和完整性。具有足夠的防攻擊能力。
5、可容錯性。核心應用要求多活,避免單點設計,并且自身有容錯和修復能力。故障恢復時間短。
6、可故障轉移。多機房部署,發生故障時能及時切換。

(來源于@京東技術部)
以上跟大家分享了京東商城業務架構、技術架構、數據架構,以及架構原則、運維原則。
作者:K,知名電商公司技術老K級人物。文出過暢銷書,武做過CTO,若不是生活所迫,誰愿意一身才華。
這篇文章就到這里結束吧,可以幫到大家也是一件非常開心的事情,看完了,如果你感覺京東購物商城官網「詳細介紹:京東運營模式解讀」挺不錯的話幫忙點個贊吧,瀏覽巢座耶學習網更多頁面可以學到更多知識哈!
本文發布者:百事通,不代表巢座耶立場,轉載請注明出處:http://www.sdwldmy.com/p/13587.html
版權聲明:本文內容由互聯網用戶自發貢獻,該文觀點僅代表作者本人。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如發現本站有涉嫌抄襲侵權/違法違規的內容, 請發送郵件至 jubao226688#126.com 舉報,一經查實,本站將立刻刪除。