天天看點

實用的商城系統産品架構

一.介紹

現在的資訊時代,交易都在網際網路化, 電子商務場景需要一套穩定靈活的系統支撐,那一套穩定靈活的電子商務系統應至少具備如下這些基礎能力

多終端支撐能力

統一支付能力

統一訂單能力

統一商品管理能力

統一多管道管理能力

快速營銷落地能力

統一資訊分析能力

系統功能擴充能力

Mob-ShopSDK依托于此,為使用者提供APP+WEB背景管理一站式的電子商務系統解決方案,提供“開箱即用”的強大功能,幫助開發者減少大量的開發工作,為使用者提供優質的網際網路産品和服務。

二.ShopSDK 應用架構

實用的商城系統産品架構

架構圖分為五個部分:接口子產品、基礎支撐子產品、資料子產品、第三方支援子產品,監控子產品。

核心-基礎支撐子產品,是按照商品的業務流轉進行劃分,建構不同的元件服務,互相間不同規則的串聯運作支撐電商服務的運轉.

核心-元件服務:

(1)商品中心:主要管理SKU( 最小庫存機關)、SPU(标準化産品單元)、屬性(關鍵屬性、非關鍵屬性、銷售屬性)、類目品牌、價格等有關商品的資料。

(2)訂單中心:管理訂單類型、訂單狀态,收集關于商品、優惠、使用者、收貨資訊、支付資訊等一系列的訂單實時資料,進行庫存更新、訂單下發等一系列動作。

(3)支付中心:已內建Mob-PaySDK服務,記錄支付資訊(對應訂單号、支付金額等),支付對賬,使用者無需因支付功能進行二次開發.同時已開放接口。使用者可以根據自己的需求, 選擇适合自己的支付方式.

(4)促銷中心:主要管理活動相關,優惠券、滿減、專場活動、促銷等。促銷工具的開發對電商尤其重要。ShopSDK通過商品-标簽,優惠券-标簽關系設定,根據标簽實作針對于商品級别組合優惠活動.

(5)評價中心:管理商品評價和使用者回報,進行回複内容管理,實作針對于敏感内容的過濾。

(6)營運中心:提供訂單、銷量相關日,周,月不同時間次元報表統計以及下載下傳,友善使用者了解營運情況,及時調整營運政策.後期會提供更細粒度,更多元度的營運資料統計,更好的協助使用者.

以下為Mob-ShopSDK主業務流程圖:

實用的商城系統産品架構

三.子產品設計

以商品子產品為例:

子產品介紹:

商品子產品是一個展示商品基本資訊、庫存等詳情的系統,是商品購買的入口,也是電商系統的入口。在通路量上它是電商平台中通路量最大的系統之一,在業務上它與周邊系統的關系是高耦合,這就對系統設計提出更多的要求。

業務特點:

重點在于資料展示頁面資訊豐富,如:商品詳情、商家清單等.

部分資料時效要求高,如:價格、庫存等

通路頻率高.

設計:

商品子產品在設計上分成SDK-INNER二層結構:

SDK端:負責業務邏輯處理,提供資料給前台,同時還會對外部系統提供服務,針對于通路頻率高的查詢接口,基于elasticsearch進行查詢操作,降低DB壓力,通過隊列事務機制實作不同資料源之間的資料同步。

INNER端:負責主資料管理,做為資料管理層處理商品主資料、參數、品牌、供應商等,同時部分内容開放給營運進行維護、管理和異常處理等。(這次篇幅有限,簡單介紹下SHOP-SDK商品子產品的設計,後期會陸續分享shop-sdk其他子產品的設計)

四. ShopSdk架構分析

1、應用部署

對于電商而言,領域有使用者、商品、訂單、評論、支付業務等等,不同的領域提供不同的服務,為了提高子產品服務的可用性,一個子產品部署在多個節點做備援,并自動進行負載轉發和失效轉移;

2、搜尋

Shop-SDK商品搜尋引擎基于分布式實時引擎elasticsearch(ES)。ES建構在開源社群最穩定成熟的索引庫lucence上,支援多使用者租用,高可用,可水準擴充;并有自動容錯和自動伸縮的機制,并且同時實作es與mysql無縫內建.資料實時同步.

3、存儲

A. 資料庫:

1)資料庫用Mysql,采用雙主模式,注意:主從不在同一個實體機上。主從結構保證在主庫出現故障比如當機自動切換到從庫。通過LVS做負載均衡做到高可用,提高吞吐量

2)基于Mycat元件實作多租戶管理,動态建立資料庫執行個體,通過資料庫級别的隔離機制保證使用者的資料隔離,同時支援橫向擴充.後期将支援分表,分區操作. 為應用提供更強壯的資料庫服務

B. redis存儲:

1)應用層邏輯優先從Reids中擷取業務資料,如果Redis中沒有,再從DB中擷取

2)通過自定義虛拟過期時間以及鎖機制解決Redis緩存過期産生的驚群現象

4. 監控:

1)通過自定義dubbo微服務監控中心, 監控服務端服務和用戶端調用情況,調用次數,調用日志,友善問題查找.并提供郵件告警功能.保證服務的高可用

(本文隻針對于部署,監控,存儲方面進行了簡單介紹,後期會針對于各個子產品進行深入分析)

五.結語

阿裡把11.11從光棍節變成狂歡節,到2017年雙11達成1682億的成交額。這展現出了電商的巨大市場需求,也為電商從業者帶來了新的機遇和新的挑戰。電商系統的複雜性使其中的每一個細節都可以拿出來仔細探究,ShopSDK将緻力于為開發者/客戶提供“開箱即用”的強大功能, 輕輕松松即可完成一個B2C電子商務的搭建和部署。