Java生鮮電商平臺-大型電商系統架構設計(小程序/APP)

Java生鮮電商平臺-大型電商系統架構設計(小程序/APP)

說明:Java生鮮電商平臺-大型電商系統架構設計,本文只是拋磚引玉的作用,具體的業務架構要根據大家各自的業務線來定。

           我們把系統架構設計分爲兩部分:應用架構設計和基礎架構設計。

          應用架構設計指的是業務結合最緊密的業務系統架構設計,這裏主要介紹電商網站架構,供應鏈系統架構,個性化推薦引擎架構,電商搜索引擎架構.

          基礎架構設計指的底層系統支撐中間件的架構設計,應用系統是架設在基礎架構之上的,這裏主要介紹大數據平臺架構設計,雲平臺架構設計,服務治理平臺架構設計,分佈式文件存儲架構設計.

          我們馬上開啓架構設計之旅,進入奇妙的技術世界,我們先來看看大型電商網站架構設計怎麼做?

            大型電商網站,指的是每日用戶訪問量達到數百萬,每日頁面訪問量達到數千萬乃至上億級別的網站,達到這個規模的電商網站在國內不超過100家,系統架構設計的目標和原則是:高可用,易伸縮,低成本.

          基於這樣的架構設計目標和原則,服務化,分佈式是這個架構設計的主要思路.

          服務化:通俗的講就是把所有的核心業務沉澱下來形成各種服務,供各業務系統共享,基礎架構相關資源也以服務的方式提供,包括消息,文件存儲,緩存等

          分佈式:系統架構中年的每一層及所有的資源都是分佈式的,支持平滑的水平擴展。

        從技術架構上可以把電商網站系統分爲五層:應用層,核心服務層,基礎服務層,數據訪問層,數據源等,如下圖所示,下面我們介紹每一層的作用和包含的主要模塊.

        畫圖用visio2013

      

       

 

 電商系統架構

 

 

  1.  應用層,是面向用戶的應用系統,提供給顧客,商家,員工等角色使用的平臺,如網站頁面,購物車,結算中心,會員中心,在線客服,商家平臺,供應商平臺,運營後臺等,應用系統通過調用核心服務,實現特定的業務邏輯.
  2. 核心服務層:是把核心業務邏輯進行封裝,以服務的形式提供出來。供各應用系統進行調用,核心服務有交易,支付,促銷,類目管理,商品管理,店鋪裝修,庫存操作等。
  3. 基礎服務層:把原子業務進行封裝,以服務的形式提供出來,供核心服務層調用,這裏要注意,一般情況下應用層不能夠直接調用基礎服務層,也就是說不能跨層調用服務,核心服務層在封裝某個業務邏輯的時候,常常會調用多個基礎服務層的接口,基礎服務層包括訂單,庫存,價格,用戶,商品,積分等
  4. 數據訪問層:是實現對數據訪問的中間件層,功能模塊包括持久性組件,事務處理,連接池,NOSQL客戶端,SQL管理工具箱等,任何數據訪問都必需通過數據訪問層,不允許繞過數據訪問層,直接訪問數據庫.
  5. 數據源,是指數據庫集羣,包括oracle,Mysql,Hadoop,Hbase,clickhouse,druid,doris等等,數據庫一般是集羣部署,實現主備機制,讀寫分離。

           以上介紹了各層要做的事情,大家注意到SOA在這個框架中被大量使用,因此需要有服務治理平臺,能夠對服務進行管理,比如能夠支持故障隔離,優雅降級,可以跟蹤完整的請求生命週期,可以快速響應和定位問題,可以管理所有的服務的依賴關係。

          另外,數據的讀取還需要有緩存中間件,來減少對數據源的請求次數,緩解數據庫的壓力,根據場景合理使用多級緩存,本地緩存等,緩存要主動和被動更新機制,以防止髒數據的產生和被誤使用。

         同時,還必須有完備的監控預警機制,對硬件,數據庫,服務,應用,容器,中間件等進行監控預警,必要時候會發出服務降級指令,來犧牲一些性能損耗較大的模塊,確保主購物流程的正常運行。

         最後,整體網站是能夠實現多數據中心的部署,來實現性能提升,訪問速度優化,以及實現容災。

結語

覆盤與總結.

  總結:

          做Java生鮮電商平臺的互聯網應用,無論是生鮮小程序還是APP大型電商系統架構設計是非常重要的,本文只是起一個拋磚引玉的作用,

          希望用生鮮小程序的搭建大型電商系統架構的設計思路實戰經驗告訴大家一些實際的項目經驗,希望對大家有用.

 QQ:137071249

共同學習QQ羣:793305035

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章