日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

電子商務實現業(yè)務中臺系統(tǒng)架構思路

數商云 ? 來源:shushangyun ? 2020-04-30 10:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來的數據中臺、業(yè)務中臺等系統(tǒng)架構興起,大多數企業(yè)在不清楚的中臺背景的情況下就盲目追求,最后只會導致自身平臺丟失原有的優(yōu)勢框架。在這里,我們來總結下業(yè)務架構總原則:大中臺+小前臺框架思維:

1、業(yè)務中臺系統(tǒng)采用領域驅動設計(DDD),在其上構建業(yè)務能力SAAS,持續(xù)不斷進行迭代演進。

2、中臺平臺化定位,進行了業(yè)務隔離設計,方便一套系統(tǒng)支撐不同玩法的業(yè)務類型和便于定制化擴展。

3、前后端分離,通過服務接入層進行路由適配轉發(fā)。

4、天然的分庫分表,消息解耦和分布式緩存設計,支持彈性擴容,以支持業(yè)務中臺大數據高并發(fā)場景。

數商云為各位分別介紹每個部分。

電商中臺邏輯分布:

電商中臺部分在邏輯上分成了基礎能力和平臺產品兩層,這樣做的好處是,基礎能力層聚焦于穩(wěn)定收斂的業(yè)務模型和基礎服務本身,不會隨著業(yè)務和前臺產品的調整發(fā)生變化,可以簡單理解為業(yè)務模型的DAO。電子商務平臺產品層則專注于通過流程編排類的技術手段,將基礎能力構建成業(yè)務的解決方案,解決共性和個性化的問題。我們將以交易的設計為例來說明這個分層理念。

通過對電商交易業(yè)務中臺系統(tǒng)的深入分析,可以確定幾乎所有的交易都會涉及下圖中所有的領域(庫存,優(yōu)惠,價格…),而單看每個域,玩法都是很少變化的,將這些域的基礎能力完全可以沉淀下來形成原子的基礎能力,通過擴展點方式應對將來特殊的場景個性化擴展。

電商業(yè)務中臺系統(tǒng)產品層為了應對不同的交易場景(一口價,拍賣,貨到付款,預售…)將原子的基礎能力編排成滿足不同場景的解決方案,以服務的方式透出出去。

業(yè)務中臺服務接入層:

業(yè)務服務中臺接入層是連接前臺產品和中臺產品層的紐帶,實質就是之前的web應用,不同的是現在前后端分離后,只包含java代碼,使用springBootweb。做參數轉換,路由分發(fā),調用中臺服務,結果封裝。這塊需要做好前后端的交互規(guī)范,請求路由映射規(guī)范,web工程目錄結構,負載均衡方案,跨越問題和安全問題。

公用基礎組件:

沉淀和抽象出通用獨立的公共基礎組件,這些組件在服務本項目,本團隊的同時,可以開源出去服務更多的人;抽幾個非常重要的組件講一下這么做的目的。

1、數據訪問組件:抽象封裝分庫分表訪問,讀寫分離,主備切換。

2、消息中間件組件:這塊的選擇非常多,就開源的就有activeMQ,RabbitMQ,RocketMQ,Kafka等等,如果不對這塊做封裝,對其上應用做透明化處理,后期做這塊的適配調整就會非常痛苦,特別是這套業(yè)務中臺系統(tǒng)會在不同環(huán)境中進行部署時。

3、地址庫組件:統(tǒng)一地理地址相關的服務,如果是有拓展國際市場的需求,這塊會顯得的非常重要,不同文化背景的國家,在這塊的差異會非常大,同時國內也涉及3級,4級和5級地址的問題。

云服務&設施容器層:

如果電商系統(tǒng)開發(fā)技術團隊不是非常大,又沒有較強的運維技術人員,建議不要購買物理機自己搭建環(huán)境,而是直接使用比較成熟的ECS和其他云服務,這樣會節(jié)省很多時間成本和一些耗時的運維工作,讓其專注于業(yè)務產品的研發(fā),同時使用docker容器部署應用,不僅需要的機器數量比較少而且部署非常便捷高效。

業(yè)務中臺的前臺產品:

ios,androidAPP,H5APP,PC站點,微信支付寶小程序都是屬于這層,前臺產品主要是根據業(yè)務形態(tài)和產品的定位來進行構建。對于電子商務平臺業(yè)務來說,主要是指移動APP商城,H5商城,PC商城,小程序商城,這里將以小程序為例來說明:

為了適應小程序,社交電商這樣的熱點,加上有這么優(yōu)秀的一套電商中臺系統(tǒng),不搞出點有么有樣的電商前臺產品,不是很沒有道理,為此想破腦袋,我們把電商和送禮結合了起來,做了“禮尚往來”的小程序。

建立穩(wěn)定和安全保障的業(yè)務交易系統(tǒng)

對電商網站這類在線交易系統(tǒng),流量會隨著運營活動的波動非常大,特別是到了雙11這類大活動的時候,流量的峰值會是平時的幾十~幾百倍,一些接口會放大的更大。核心電子商務平臺系統(tǒng)的指標,流量,接口調用量和rt,以及限流和異常的監(jiān)控就顯得非常重要了。

在幾年之前,只有BAT幾個大的公司有能力在這方面做的不錯,隨著全民參與的這種大型促銷活動推動技術的進步,以及開源社區(qū)和一些大廠將類似方案回饋到開源社區(qū),目前一個小的電商系統(tǒng)開發(fā)技術團隊做好這塊也沒有什么難度了?,F將總結的企業(yè)搭建商城系統(tǒng)用到的框架做個簡單的介紹,更多細節(jié)請參考官方文檔。

1、sentinel:是面向分布式服務架構的輕量級流量控制產品,主要以流量為切入點,從流量控制、熔斷降級、系統(tǒng)負載保護等多個維度來幫助您保護服務的穩(wěn)定性。該電商系統(tǒng)已經過阿里內部雙11多年的驗證,穩(wěn)定性和可靠性非常不錯,已于最近開源。

2、dubbokeeper:dubbo的官方監(jiān)控dubbo-monitor-simple在性能上表現非常不好,經??ㄋ溃瑢Ρ攘藥讉€成熟的框架后,最終確定使用dubbokeeper.dubbokeeper社區(qū)版dubboadmin,包括了應用管理,動態(tài)配置,統(tǒng)計信息,服務監(jiān)控和zk信息查看功能。

3、pinpoint:現在基于微服務的架構,一個請求從用戶發(fā)起到響應,中間調用鏈路非常長,跨越數十個系統(tǒng)很正常,并且路徑非常多,要定位一個比較耗時的響應,不利用工具,是非常低效的。Pinpoint這樣的工具就是為處理這個問題出現的,Pinpoint的優(yōu)點是對代碼零侵入,運用JavaAgent字節(jié)碼增強技術,追蹤每個請求的完整調用鏈路。

4、Telegraf+influxDB+Grafana:主要用來實現業(yè)務數據的實時監(jiān)控方案,如交易額的不正常波動,訂單量的突然下跌等。Telegraf是收集數據的代理程序,可以根據業(yè)務需要添加插件擴展服務,收集到的數據寫入分布式時序數據庫influxDB,再通過grafana可視化的展示出來。

業(yè)務中臺系統(tǒng)工程結構:

邏輯結構映射到物理的工程結構,每個邏輯單元對應為一個子工程,如果是用idea開發(fā),就是一個model,當然model里邊會有子model;至于需要打包構建多少個系統(tǒng)其決定性因素是你團隊的規(guī)模,如果團隊規(guī)模較少,業(yè)務中臺系統(tǒng)合并到3-4個左右就足夠了,如果團非常大,一個團隊負責一個業(yè)務板塊的,并為其構建多個系統(tǒng),也是非常正常的,像較大的電商公司,負責商品的就是一個團隊,商品相關的系統(tǒng)就有數10個。以業(yè)務交易系統(tǒng)為例,可以將交易的系統(tǒng)合并為一個系統(tǒng),但在工程的組織結構上是對立的,方便將來的拆分。

用業(yè)務中臺化框架來優(yōu)化電商交易系統(tǒng)優(yōu)勢

上面介紹了交易業(yè)務中臺的設計理念,本篇會詳細的來說為何要用中臺的思想來架構交易系統(tǒng)。要說明白這個問題,我們必須回看業(yè)務中臺系統(tǒng)的演化路徑是怎樣隨著業(yè)務規(guī)模的增長進行變化的。

首先來看初創(chuàng)公司/新業(yè)務系統(tǒng)是如何演進的:以基于云計算為基礎的架構模式,大部分的初創(chuàng)的交易系統(tǒng)架構圖如下:

對于一個業(yè)務規(guī)模很小,業(yè)務也比較單一,該架構也是最高效的方式,一到兩個web系統(tǒng),數個微服務業(yè)務系統(tǒng),一到兩個前臺系統(tǒng)。微服務業(yè)務系統(tǒng)將會把會員,商品,類目,店鋪,交易,庫存,物流這些劃分成不同的模塊/包放在一到幾個電商系統(tǒng),這樣做的好處是非常明顯的,每個人都熟悉所有的代碼,代碼量不大,開發(fā)效率高,這在公司剛起步時,是非常接地氣的和最適合的架構。

隨著電子商務平臺公司業(yè)務規(guī)模和組織的壯大,會基于上面的架構,迭代演進N次,直到電商系統(tǒng)不再是制約公司發(fā)展的瓶頸,這期間最重要的架構升級是電子商務系統(tǒng)和數據庫的垂直拆分,異步消息解耦,分布式事務機制,穩(wěn)定性保障。為了快速說明問題,我們將忽略中間演進版本,直通基于中臺的版本。

中臺系統(tǒng)產生背景

在介紹業(yè)務中臺模式之前,先來看看中臺概念的產生背景,中臺研發(fā)模式最早產生于芬蘭著名游戲公司supercell.Supercell有員工180人,后被騰訊以100億美金估值收購,其鼎峰時期全球排名top10的游戲,有5個來自supercell,其能快速推出高質量的游戲,其大中臺功不可沒。阿里借鑒了supercell的“大中臺,小前臺”的模式,以解決快速創(chuàng)新試錯的前端業(yè)務和日益沉重的淘寶天貓這些核心系統(tǒng)之間的矛盾,以提升研發(fā)效率和跨團隊合作。

可以進一步的設想,如果一個電子商務網站公司業(yè)務高速發(fā)展,特別是互聯網的電商業(yè)務模式,出現10倍增速的發(fā)展也很正常,這會面臨業(yè)務和技術團隊規(guī)模變大,電子商務業(yè)務也會越來越復雜,就以交易為例,最初就是簡單支撐實物購買場景(消費者付款購買,平臺/商家發(fā)貨),隨著用戶和業(yè)務的發(fā)展,會出現,虛擬商品交易,團購,拼團,拍賣,秒殺,預售等等電商交易業(yè)務模式。

最初就是一個電商系統(tǒng)單純的支持一個單一的業(yè)務,到了階段二支持三個業(yè)務,你還能勉強活著,到了階段三如果還是使用之前的商城系統(tǒng)架構和開發(fā)模式,你會陷入泥潭,在階段三必然會出現以下問題:

[if!supportLists]1.[endif]業(yè)務之間的電商需求相互影響,修改和測試回歸成本非常高,但還是會發(fā)生意想不到的線上問題。

[if!supportLists]2.[endif]由于支撐的商城需求越來越多,沒有人能掌控全局,修改無存下手,開發(fā)越來越不敢接需求。

[if!supportLists]3.[endif]多個網站需求并行的開發(fā)是場噩夢,團隊經常加班,還是滿足不了業(yè)務需求的開發(fā),團隊越來越是瓶頸,經常接到業(yè)務方的投訴。

業(yè)務中臺化也就是解決這些問題的最佳選擇,將交易域的核心能力和服務,通過梳理抽象沉淀為穩(wěn)定外化的服務,通過預留的擴展點,來支持個性化擴展。擴展點的開發(fā)完全可以由業(yè)務系統(tǒng)開發(fā)團隊的技術來進行,交易中臺研發(fā)將專注于中臺的建設和穩(wěn)定性,這樣講大大改善開發(fā)協作效率,一個業(yè)務能不能跑的快,主要依賴于前臺,當然業(yè)務中臺的技術團隊需要做好業(yè)務隔離和中臺本身的穩(wěn)定高效進化。

了解交易的一般業(yè)務流程,交易的兩個業(yè)務流程:

交易訂單創(chuàng)建流程

簡化的逆向退款流程

只舉例2個業(yè)務流程,其他的大同小異,對交易業(yè)務的分析和梳理,不難發(fā)現,交易涉及的業(yè)務域可以歸類為以下幾個方面:價格,優(yōu)惠,庫存,拆單,支付,限購,交付,訂單,超時,售后。

電子商務平臺交易業(yè)務中臺架構

通過對電商網站交易業(yè)務流程和業(yè)務的分析和梳理,采用20/80原則,可以建模抽象出基礎能力層:

交易是很多契約的組合體,基礎能力服務是原子性的,還需要將這些通過流程編排組合成有業(yè)務價值的交易產品來統(tǒng)一對外輸出和管理,這就是電子商務交易平臺產品層的職責,解決共性和差異性的問題。

此外電商交易系統(tǒng)需要依賴會員,商品,店鋪,庫存,優(yōu)惠,支付和物流等這樣的業(yè)務服務才能完成一個真正的交易,加上這些我們基本可以確定交易的業(yè)務中臺架構圖,如下:

有了整體的全局大圖,接下來我們將會按照如下的框架來詳細介紹每個部分。

業(yè)務中臺系統(tǒng)總體設計:

核心業(yè)務領域模型,領域模型的設計,還是遵守DDD的原則,這塊做的好壞,關鍵是對這塊業(yè)務的理解和未來一段時間的預判,加上抽象歸納。

中臺核心類圖:

從總體設計的角度看,總體的類圖應當是關注業(yè)務模型本身,按照之前約定,我們先看BA層的業(yè)務模型:

這個類圖,只畫了宏觀和重要的業(yè)務域類,其他用來支撐的類圖,將在BA層做展示,目前幫助理解交易這些類圖足夠說明問題,太多反而沒有重點。PA層是對外開放的服務層,按照慣例設計,會有與其DO對應的DTO類,此外考慮到購車更多的是承擔前臺層的功能,BA層不會引入購車,而將其放到了PA層。

PA層的業(yè)務對象類圖,除了dto類型外,還增加了消息事件對象,用來將交易的業(yè)務變化通過事件消息通知給對其感興趣的訂閱方,要說明的一點是BA層的DO對象,PA層是完全可以使用的。

業(yè)務中臺系統(tǒng)核心服務設計:

服務接入層更多的是前后端交互restfulservice的設計,交易的PA層實質上已經做了對外開放的微服務設計(使用dubbo框架),服務接入層的restfulservice幾乎是對微服務進行包裝參數轉換的處理,就沒有必要單獨說明restful

service,直接看PA最重要的幾個服務。

核心鏈路時序設計:

通過最常規(guī)的下單購買和支付流程來說明交易的核心調用鏈路是怎么樣的過程,為了簡化說明下面的時序圖簡化了異常鏈路的處理過程和人為減少了依賴的業(yè)務中臺系統(tǒng)。進行核心鏈路依賴的設計,是為了在設計階段更好的去評估依賴的合理性,確保交易的性能,安全性和容災處理方面的要求。有了核心調用鏈路圖,你才能在設計階段確定哪些調用是可以減少的,哪些地方可以異步處理,哪些地方可以使用前置緩存,哪些地方需要異步重試,哪些地方不能超時,哪些地方要確保最終一致性,哪些要做冪等處理等等,此外也對下游系統(tǒng)更好的評估自己的流量和響應時間提供了參考依據。lw

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EdgePLC在智能倉儲包裝系統(tǒng)的應用解決方案

    智能倉儲包裝系統(tǒng)是連接生產末端與物流配送的關鍵節(jié)點,通常集成自動包裝機、貼標機、碼垛機器人、自動導引車及信息化管理系統(tǒng),完成產品的整理、封裝、賦碼、堆疊與出庫暫存等任務。隨著電子商務與柔性制造的快速
    的頭像 發(fā)表于 04-23 17:20 ?971次閱讀

    2022全新版!Java分布式架構設計與開發(fā)實戰(zhàn)(完結)

    2022全新版!Java分布式架構設計與開發(fā)實戰(zhàn)(完結) 分庫分表實戰(zhàn):Java海量數據存儲架構設計 在現代互聯網應用,隨著業(yè)務規(guī)模的指數級增長,數據庫性能瓶頸已成為制約
    發(fā)表于 03-30 15:20

    UWB寵物電子圍欄系統(tǒng)解決方案 | 遠距離寵物測距技術

    與最多三寵物項圈接收器組成。遙控器作為控制中心與用戶交互的界面,通過UWB無線技術與一個或多個寵物項圈進行實時、雙向的距離測定。 6.1 系統(tǒng)架構 如下圖所示,該電子圍欄
    發(fā)表于 03-23 15:15

    伺服驅動硬件設計規(guī)范與實現手冊

    對象,從設計規(guī)范、電路架構、關鍵模塊實現、PCB 工程規(guī)范、可靠性設計、測試驗證等方面,形成一套完整、可直接工程化的云伺服驅動硬件設計手冊,適用于航拍、安防跟蹤、工業(yè)視覺、機載穩(wěn)定等高精度云
    的頭像 發(fā)表于 03-04 15:40 ?266次閱讀

    光耦在儲能系統(tǒng)的作用

    光耦在儲能系統(tǒng)通過電氣隔離實現高壓與低壓電路的安全隔離,是保障系統(tǒng)穩(wěn)定運行的關鍵器件。晶光耦KL1018/KL1019系列采用LSOP4
    的頭像 發(fā)表于 01-07 10:33 ?475次閱讀
    晶<b class='flag-5'>臺</b>光耦在儲能<b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>的作用

    固化烘箱物聯網數據解決方案

    到MES系統(tǒng)實現集中管理。對此,數之能提供高效可靠的物聯網解決方案。 現場固化烘箱主要通過西門子PLC、達PLC等控制器進行控制,通過實現PLC數據采集到數之能數據
    的頭像 發(fā)表于 11-24 16:43 ?613次閱讀
    固化烘箱物聯網數據<b class='flag-5'>中</b><b class='flag-5'>臺</b>解決方案

    訂單實時狀態(tài)查詢接口技術實現

    ? ?在電子商務系統(tǒng),訂單實時狀態(tài)查詢是核心功能之一。用戶需要即時獲取訂單的最新狀態(tài)(如“已支付”、“發(fā)貨”或“已完成”),這對用戶體驗和業(yè)務
    的頭像 發(fā)表于 10-21 17:58 ?890次閱讀
    訂單實時狀態(tài)查詢接口技術<b class='flag-5'>實現</b>

    【置頂公告】視美泰開源鴻蒙系列產品業(yè)務咨詢與商務合作通道正式開啟!

    合作、高效響應需求,現正式開通開源鴻蒙系列產品專項業(yè)務咨詢與商務合作通道,誠邀各界伙伴攜手共進! 合作內容方向開源鴻蒙硬件定制開發(fā)基于OpenHarmony的智能終端、邊緣計算設備、行業(yè)定制化硬件
    發(fā)表于 10-20 16:23

    如何規(guī)劃數據

    1. 數據是一套解決方案 在數聚股份看來,數據是一套可持續(xù)“讓企業(yè)數據用起來”的機制,是一套解決方案,不僅是一個平臺。讓數據更加靈活地支撐前端
    的頭像 發(fā)表于 10-15 16:04 ?450次閱讀
    如何規(guī)劃數據<b class='flag-5'>中</b><b class='flag-5'>臺</b>

    數據對接QMS質量管理系統(tǒng)方案

    通過數之能數據,實現與QMS質量管理系統(tǒng)的無縫對接,為企業(yè)提供高效、準確的質量數據支持,助力企業(yè)提升質量管理水平和生產效率。 系統(tǒng)
    的頭像 發(fā)表于 09-29 15:55 ?650次閱讀
    數據<b class='flag-5'>中</b><b class='flag-5'>臺</b>對接QMS質量管理<b class='flag-5'>系統(tǒng)</b>方案

    工業(yè)數據支持對接MES系統(tǒng)

    工業(yè)數據支持對接MES系統(tǒng) ,且這種對接已成為提升企業(yè)生產效率和智能化水平的關鍵手段。以下從技術實現、功能互補、應用價值三個層面展開分析: 一、技術
    的頭像 發(fā)表于 09-04 11:24 ?598次閱讀

    企業(yè)數字化轉型時,數據和ERP系統(tǒng)的融合趨勢是怎樣的?

    無論是 ERP 化,還是數據業(yè)務化,核心都是為了破解企業(yè)數字化的核心痛點:“流程與數據兩張皮”。未來,沒有純粹的 “ERP
    的頭像 發(fā)表于 08-18 10:10 ?663次閱讀
    企業(yè)數字化轉型時,數據<b class='flag-5'>中</b><b class='flag-5'>臺</b>和ERP<b class='flag-5'>系統(tǒng)</b>的融合趨勢是怎樣的?

    電商API的微服務架構優(yōu)化策略

    ? 隨著電子商務的快速發(fā)展,API(應用程序編程接口)已成為電商平臺的核心組件,負責連接用戶、商家和后臺系統(tǒng)。微服務架構通過將應用拆分為獨立、可擴展的服務單元,顯著提升了系統(tǒng)的靈活性和
    的頭像 發(fā)表于 07-23 14:30 ?744次閱讀
    電商API的微服務<b class='flag-5'>架構</b>優(yōu)化策略

    淺析RFID技術在酒類防偽的應用

    屢禁不止,日趨猖獗。據統(tǒng)計,全球電子商務,假冒產品占商品交易總量的比例高達5%-9%。打擊假冒偽劣產品已刻不容緩,電子商務流通環(huán)節(jié)安全保障問題越來越受到人們關注。
    的頭像 發(fā)表于 07-02 17:32 ?830次閱讀

    動態(tài)IP技術賦能業(yè)務創(chuàng)新:解鎖數字化時代的靈活運營密碼

    在萬物互聯的數字化浪潮,IP地址早已突破"網絡門牌號"的原始定義,成為企業(yè)構建高效、安全、可擴展業(yè)務架構的核心要素。動態(tài)IP技術憑借其獨特的資源調配能力,正在重塑云計算、大數
    的頭像 發(fā)表于 05-13 15:03 ?966次閱讀
    蓝田县| 赫章县| 武川县| 晋城| 驻马店市| 八宿县| 天等县| 阿巴嘎旗| 同仁县| 金湖县| 密云县| 吴忠市| 鄂托克前旗| 额敏县| 灯塔市| 和龙市| 哈密市| 柳林县| 东港市| 海林市| 连城县| 上杭县| 修武县| 资兴市| 凤阳县| 彰武县| 城口县| 本溪市| 望谟县| 商都县| 海丰县| 平远县| 台南县| 绥棱县| 商水县| 开封县| 南和县| 开阳县| 句容市| 安塞县| 新安县|