一,概述
2020面對突然快速變化的市場環境,食行生鮮原有的系統架構已經不能滿足業務快速增長要求,
面對複雜的業務環境,需開發一套可擴展,高併發和高可用的生鮮電商系統.
因此,借鑑阿里巴巴大中臺思想,研發中心需要重構一套生鮮電商中臺業務系統,以滿足高可用,高併發,高一致性,高性能和高可拓展的要求.
二,整體業務流程
如下是C端用戶食行生鮮電商核心業務流程(非核心流程未列出):
三,業務架構
如下是電商整體業務架構設計:
主要包括幾大中臺:
- 小前臺
小前臺主要指和用戶銜接比較緊密的業務場景,主要包括
- ToC
包括自營app(安卓/ios),H5頁面.
- ToB
自營app和sdk.
- 渠道
包括支付寶小程序,微信小程序等.
- 線下店
社區生鮮店,目前只覆蓋蘇州市場.
2,業務中臺
業務中臺主要提供電商場景下的公共能力,比如支付,下單等,核心包括如下領域:
- 用戶域
- 活動域
- 商品域
- 商戶域
- 支付域
- 交易域
- 供應鏈域
- 評價域
3,技術中臺
技術中臺主要提供業務中臺公共的能力,比如流水線發佈,灰度和服務治理等,核心能力包括如下
- 網關
- 服務治理
- 日誌
- 監控和告警
- 鏈路追蹤
- devops
4,數據中臺
數據中臺主要基於海量數據,提供精準智能推薦,用戶畫像.目前核心能力包括:
- 智能推薦
- 用戶畫像
5,基礎設施層
基礎設施層主要提供系統主機,公共中間件和容器化得組件,核心包括:
- 容器編排
- 數據庫存儲介質
- 消息隊列介質
- 緩存介質
- 倒排索引查詢介質
業務架構的設計原則:
A,將業務-平臺化
- 業務平臺化,相互獨立
- 基礎業務下沉,可複用
B,核心業務和非核心業務分離
C,隔離不同類型的業務
- 交易平臺需保證高可用
- 履約平臺需保證一致性
- 秒殺平臺保證高併發
D,區分主流程和輔助流程
- 主流程高可用
- 輔助流程可異步化
四,應用架構
如下是電商整體應用架構設計:
業務中臺核心應用領域
用戶域
會員中心服務於用戶的消費全生命週期,爲用戶提供特定的權益和服務,企業可以通過會員中心進與用戶進行互動,培養用戶忠誠度。主要能力包括:
會員運營管理:會員註冊、個人信息維護、會員註銷、會員卡辦理等相關能力。
會員體系管理:會員體系的創建、積分規則、成長值規則、等級、權益等相關能力。
客戶服務管理:包括客戶的新增、導入、查詢等相關能力。
積分交易管理:包括積分獲取、覈銷、清零、凍結、兌換等相關能力。
商品域
商品中心提供管理商品核心數據的能力。圍繞商品構建商品關聯數據,諸如商品版本信息、商品品牌、商品屬性、商品類目等。主要能力有:
品牌、類目、屬性管理:包括對商品品牌的維護、查詢,前後端類目的維護,屬性及屬性組管理等相關能力。
產品數據管理:包括對產品模板的創建、編輯、查詢、禁用等相關能力。
商品數據管理:包括創建商品、修改商品、查詢商品等相關能力。
商品發佈管理:包括商品發佈、上下架(即時+定時)等相關能力。
供應鏈域
庫存中心提供倉庫、庫存、貨品、單據(入庫單/出庫單/盤點單/盤點盈虧單)、審覈(調撥/盤點),包裹、貨品運費、物流運輸、接入第三方物流公司的服務能力。主要能力包括:
倉庫管理:包括服務區、倉庫、倉位及其關聯管理等相關能力。
貨品管理:包括貨品進貨入庫、銷售出庫、調撥入庫、調撥出庫、調撥審覈等相關能力。
貨品盤點:包括盤點單生成、審覈、查詢等相關能力。
履約管理:包括庫存檢查、發貨單創建及查詢、包裹物流查詢、運費管理、物流狀態跟蹤等相關能力。
交易域
交易中心負責企業業務交易訂單的整體生命週期管理,包括加入購物車車→訂單生成→合併分拆→流轉→支付→發貨→退換貨→完成。所有電商業務的核心繫統都是圍繞交易訂單進行構建的。主要能力包括:
購物車管理:包括購物車商品添加、編輯、查詢、校驗等相關能力。
正向交易管理:包括交易訂單生成、發起支付交易訂單、商品發貨管理、上門自提及覈銷等相關能力。
逆向交易管理:包括商品換貨、退貨、退款等相關能力。
訂單數據管理:包括交易訂單數據、支付記錄、發貨記錄、換貨記錄、退款記錄等數據管理能力。
交易流程編排:支持交易流程節點的配置化,便於根據業務場景的不同設置與之匹配的流程。
支付域
支付中心給下游商戶輸出標準的支付服務,提供代付代收、財務對賬等服務。通過對接多個主流渠道,穩定輸出微信、支付寶、銀聯等支付能力。主要能力包括:
支付能力:包括創建支付訂單、接收渠道通知、渠道訂單查詢等基本支付能力。
支付路由:包括支付渠道管理、支付方式管理、支付商戶和應用開通管理等相關能力。
資金賬戶:包括資金賬戶管理、充值維護、提現等相關能力。
活動域
營銷中心提供商家的活動計劃、申報、審批、執行、覈銷的全鏈路管理,也提供了基本的促銷能力,如優惠券活動、滿減買贈等。主要能力包括:
活動模板管理:包括營銷活動的策略模板、規則配置、條件、動作模板等相關能力。
活動管理:包括具體活動的基本信息配置、人羣圈選、商品管理、觸發條件等相關能力。
優惠券管理:包括優惠券的發放、領取、查詢、使用覈銷等相關能力。
贈品管理:對於滿贈、買贈活動,提供贈品維護、查詢、啓用、禁用等相關能力。
商鋪域
店鋪中心提供企業店鋪主體管理、店鋪管理、類型管理、經營對象管理等能力以支持企業爲其商戶用戶提供線上門店,同時也支持商戶管理、店鋪會員、店鋪會員等級管理、店鋪裝修等。主要能力包括:
商戶管理:包括商戶單個、批量開通,商戶審覈,商戶基本信息維護等相關能力。
店鋪管理:包括店鋪開通、店鋪基本信息維護、店鋪審覈、店鋪會員等相關能力。
五,技術架構
技術架構設計規則如下:
A,服務無狀態
B,服務可複用
C,松耦合
- 跨業務領域調用,儘可能異步解耦
- 同步調用設置超時時間
- 相對穩定的服務和邏輯易變的服務分離
D,服務可治理
E,基礎服務
六,數據架構
一個典型的數據架構如下:
設計常見的數據架構應遵循如下原則:
A,統一數據庫視圖,保證數據的及時性,一致性,準確性和完整性.
B,數據和應用分離
- 應用系統只依賴邏輯數據庫
- 應用系統不直接訪問其他應用的數據庫,而是通過接口進行訪問.
C,數據庫做讀寫分離
- 將訪問量大的數據庫做讀寫分離
- 將數據量大的數據庫做分庫分表
- 按照業務維度進行數據庫拆分
- 對重要的數據庫做冗餘備份
D,合理採用Nosql,進行關係型數據庫的補充.
- Elasticsearch:偏向於檢索、查詢、數據分析,適用於OLAP( 數據分析,響應速度要求沒那麼高 )系統
- Mongodb:偏向於大數據規模下的CRUD,適用於對事務要求不強的OLTP( 內存效率,實時性比較高 )系統。
- Redis:k/v存儲,適合mysql數據容災.
七,技術架構的核心要素
高性能
高可用
高伸縮
高擴展
高安全