一.介紹
現(xiàn)在的信息時代,交易都在互聯(lián)網(wǎng)化, 電子商務(wù)場景需要一套穩(wěn)定靈活的系統(tǒng)支撐,那一套穩(wěn)定靈活的電子商務(wù)獨立網(wǎng)站建設(shè)應(yīng)至少具備如下這些基礎(chǔ)能力:
1、多終端支撐能力;
2、統(tǒng)一支付能力;
3、統(tǒng)一訂單能力;
4、統(tǒng)一商品管理能力;
5、統(tǒng)一多渠道管理能力;
6、快速營銷落地能力;
7、統(tǒng)一信息分析能力;
8、系統(tǒng)功能擴(kuò)展能力;
Mob-ShopSDK依托于此,為用戶提供APP+WEB后臺管理一站式的電子商務(wù)系統(tǒng)解決方案,提供“開箱即用”的強大功能,幫助開發(fā)者減少大量的開發(fā)工作,為用戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)產(chǎn)品和服務(wù)。
二.ShopSDK應(yīng)用架構(gòu)
架構(gòu)圖分為五個部分:接口模塊、基礎(chǔ)支撐模塊、數(shù)據(jù)模塊、第三方支持模塊,監(jiān)控模塊。
網(wǎng)上電子商城系統(tǒng)核心-基礎(chǔ)支撐模塊,是按照商品的業(yè)務(wù)流轉(zhuǎn)進(jìn)行劃分,構(gòu)建不同的組件服務(wù),相互間不同規(guī)則的串聯(lián)運行支撐電商服務(wù)的運轉(zhuǎn)。
核心-組件服務(wù):
(1)商品中心:主要管理SKU( 最小庫存單位)、SPU(標(biāo)準(zhǔn)化產(chǎn)品單元)、屬性(關(guān)鍵屬性、非關(guān)鍵屬性、銷售屬性)、類目品牌、價格等有關(guān)商品的數(shù)據(jù)。
(2)訂單中心:管理訂單類型、訂單狀態(tài),收集關(guān)于商品、優(yōu)惠、用戶、收貨信息、支付信息等一系列的訂單實時數(shù)據(jù),進(jìn)行庫存更新、訂單下發(fā)等一系列動作。
(3)支付中心:已集成Mob-PaySDK服務(wù),記錄支付信息(對應(yīng)訂單號、支付金額等),支付對賬,用戶無需因支付功能進(jìn)行二次開發(fā).同時已開放接口。用戶可以根據(jù)自己的需求, 選擇適合自己的支付方式。
(4)促銷中心:主要管理活動相關(guān),優(yōu)惠券、滿減、專場活動、促銷等。促銷工具的開發(fā)對電商尤其重要。ShopSDK通過商品-標(biāo)簽,優(yōu)惠券-標(biāo)簽關(guān)系設(shè)定,根據(jù)標(biāo)簽實現(xiàn)針對于商品級別組合優(yōu)惠活動。
(5)評價中心:管理商品評價和用戶反饋,進(jìn)行回復(fù)內(nèi)容管理,實現(xiàn)針對于敏感內(nèi)容的過濾。
(6)運營中心:提供訂單、銷量相關(guān)日,周,月不同時間維度報表統(tǒng)計以及下載,方便用戶了解運營情況,及時調(diào)整運營策略.后期會提供更細(xì)粒度,更多維度的運營數(shù)據(jù)統(tǒng)計,更好的協(xié)助用戶。
以下為Mob-ShopSDK主業(yè)務(wù)流程圖:
三.模塊設(shè)計
以商品模塊為例:
模塊介紹:
商品模塊是一個展示商品基本信息、庫存等詳情的系統(tǒng),是商品購買的入口,也是電商系統(tǒng)的入口。在訪問量上它是電商平臺中訪問量最大的系統(tǒng)之一,在業(yè)務(wù)上它與周邊系統(tǒng)的關(guān)系是高耦合,這就對系統(tǒng)設(shè)計提出更多的要求。
業(yè)務(wù)特點:
1、重點在于數(shù)據(jù)展示頁面信息豐富,如:商品詳情、商家列表等;
2、部分?jǐn)?shù)據(jù)時效要求高,如:價格、庫存等;
3、訪問頻率高;
設(shè)計:
1、商品模塊在設(shè)計上分成SDK-INNER二層結(jié)構(gòu);
2、SDK端:負(fù)責(zé)業(yè)務(wù)邏輯處理,提供數(shù)據(jù)給前臺,同時還會對外部系統(tǒng)提供服務(wù),針對于訪問頻率高的查詢接口,基于elasticsearch進(jìn)行查詢操作,降低DB壓力,通過隊列事務(wù)機(jī)制實現(xiàn)不同數(shù)據(jù)源之間的數(shù)據(jù)同步。
3、INNER端:負(fù)責(zé)主數(shù)據(jù)管理,做為數(shù)據(jù)管理層處理商品主數(shù)據(jù)、參數(shù)、品牌、供應(yīng)商等,同時部分內(nèi)容開放給運營進(jìn)行維護(hù)、管理和異常處理等。(這次篇幅有限,簡單介紹下SHOP-SDK商品模塊的設(shè)計,后期會陸續(xù)分享shop-sdk其他模塊的設(shè)計)
四. ShopSdk架構(gòu)分析
1、應(yīng)用部署
對于電商而言,領(lǐng)域有用戶、商品、訂單、評論、支付業(yè)務(wù)等等,不同的領(lǐng)域提供不同的服務(wù),為了提高模塊服務(wù)的可用性,一個模塊部署在多個節(jié)點做冗余,并自動進(jìn)行負(fù)載轉(zhuǎn)發(fā)和失效轉(zhuǎn)移;
2、搜索
Shop-SDK商品搜索引擎基于分布式實時引擎elasticsearch(ES)。ES構(gòu)建在開源社區(qū)最穩(wěn)定成熟的索引庫lucence上,支持多用戶租用,高可用,可水平擴(kuò)展;并有自動容錯和自動伸縮的機(jī)制,并且同時實現(xiàn)es與mysql無縫集成,數(shù)據(jù)實時同步。
3、存儲
A. 數(shù)據(jù)庫:
1)數(shù)據(jù)庫用Mysql,采用雙主模式,注意:主從不在同一個物理機(jī)上。主從結(jié)構(gòu)保證在主庫出現(xiàn)故障比如宕機(jī)自動切換到從庫。通過LVS做負(fù)載均衡做到高可用,提高吞吐量;
2)基于Mycat組件實現(xiàn)多租戶管理,動態(tài)創(chuàng)建數(shù)據(jù)庫實例,通過數(shù)據(jù)庫級別的隔離機(jī)制保證用戶的數(shù)據(jù)隔離,同時支持橫向擴(kuò)展.后期將支持分表,分區(qū)操作. 為應(yīng)用提供更強壯的數(shù)據(jù)庫服務(wù);
B. redis存儲:
1)應(yīng)用層邏輯優(yōu)先從Reids中獲取業(yè)務(wù)數(shù)據(jù),如果Redis中沒有,再從DB中獲??;
2)通過自定義虛擬過期時間以及鎖機(jī)制解決Redis緩存過期產(chǎn)生的驚群現(xiàn)象;
4. 監(jiān)控:
通過自定義dubbo微服務(wù)監(jiān)控中心, 監(jiān)控服務(wù)端服務(wù)和客戶端調(diào)用情況,調(diào)用次數(shù),調(diào)用日志,方便問題查找。并提供郵件告警功能,保證服務(wù)的高可用(本文只針對于部署,監(jiān)控,存儲方面進(jìn)行了簡單介紹,后期會針對于各個模塊進(jìn)行深入分析)。
五.結(jié)語
阿里把11.11從光棍節(jié)變成狂歡節(jié),到2017年雙11達(dá)成1682億的成交額。這體現(xiàn)出了電商的巨大市場需求,也為電商從業(yè)者帶來了新的機(jī)遇和新的挑戰(zhàn)。電商系統(tǒng)的復(fù)雜性使其中的每一個細(xì)節(jié)都可以拿出來仔細(xì)探究,ShopSDK將致力于為開發(fā)者/客戶提供“開箱即用”的強大功能, 輕輕松松即可完成一個B2C電子商務(wù)的搭建和部署。
文章來源:安卓巴士
<數(shù)商云(www.zhimaihui.cn)是國內(nèi)知名企業(yè)級電商平臺提供商,為企業(yè)級商家提供最佳的系統(tǒng)開發(fā)(多種模式電商平臺搭建:B2B/B2B2C/B2C/O2O/新零售等)、供應(yīng)鏈系統(tǒng)搭建及電商行業(yè)解決方案服務(wù)>
評論