1. 程式人生 > >淘淘商城簡介——淘淘商城

淘淘商城簡介——淘淘商城

電商簡介

  • 技術特點: 
    • 技術新
    • 技術範圍廣
    • 分散式
    • 高併發、叢集、負載均衡、高可用
    • 海量資料
    • 業務複雜
    • 系統安全
  • 電商模式: 
    • B2B:企業到企業,商家到商家。代表:阿里巴巴、慧聰網。
    • B2C:商家到客戶。代表:京東、淘寶商城(B2B2C)。
    • C2C:客戶到客戶。淘寶集市。
    • O2O:線上到線下。

淘淘商城簡介

  • 一個B2C平臺,類似淘寶、京東。

功能模組

  • 1.b2c.png
  • 功能模組: 
    • 後臺管理系統:管理商品、訂單、類目、商品規格屬性、使用者管理以及內容釋出等功能。
    • 前臺系統:使用者可以在前臺系統中進行註冊、登入、瀏覽商品、首頁、下單等操作。
    • 會員系統:使用者可以在該系統中查詢已下的訂單、收藏的商品、我的優惠券、團購等資訊。
    • 訂單系統:提供下單、查詢訂單、修改訂單狀態、定時處理訂單。
    • 搜尋系統:提供商品的搜尋功能。
    • 單點登入系統:為多個系統之間提供使用者登入憑證以及查詢登入使用者的資訊。

技術架構的對比

傳統架構

  • 功能模組集中在一個工程裡,部署在伺服器或者叢集上,叢集的每臺伺服器包含相同的程式碼。
    1.framework1.png
  • 問題: 
    1. 模組之間耦合度太高,其中一個升級其他都得升級。
    2. 開發困難,各個團隊開發最後都要整合一起。
    3. 系統的擴充套件性差。
    4. 不能針對每個模組的需要,靈活的進行分散式部署。

分散式架構

  • 分散式:把系統拆分成多個工程,多個工程互相協作。
    1.framework2.png
  • 優點: 
    1. 把模組拆分,使用介面通訊,降低模組之間的耦合度。
    2. 把專案拆分成若干個子專案,不同的團隊負責不同的子專案。
    3. 增加功能時只需要再增加一個子專案,呼叫其他系統的介面就可以。
    4. 可以靈活的進行分散式部署。
  • 缺點:系統之間互動需要使用遠端通訊,介面開發增加工作量。

技術選型

  • Spring、SpringMVC、Mybatis
  • JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文字編輯器)、CSS+DIV
  • Redis(快取伺服器)
  • Solr(搜尋)
  • httpclient(呼叫系統服務)
  • Mysql
  • Nginx(web伺服器)

工程總覽

  • 使用了面向服務的架構(Service-Oriented Architecture, SOA)

資料庫

  • mysql作為關係型資料庫,提供資料的持久化。
  • redis作為記憶體資料庫,提供高效能的快取。

服務層

  • taotao-rest提供商品資訊,內容服務。
  • taotao-sso提供單點登入服務。
  • taotao-order提供訂單服務。
  • taotao-search提供商品搜尋服務,基於solr索引庫。

互動

  • taotao-portal作為網站的門戶,與使用者互動。
  • 微信商城之類的app也可以呼叫服務層的服務,完成門戶的功能。
  • taotao-manager作為後臺管理,供管理員完成對網站商品和內容的增刪改查。

開發過程目錄

部署

專案原始碼