基于大中台小前台模式设计高并发电商架构
孫玄
讀完需要
8
分鐘速讀僅需 3 分鐘
孫玄,奈學(xué)教育創(chuàng)始人,曾任 58 集團(tuán)技術(shù)委員會(huì)主席、轉(zhuǎn)轉(zhuǎn)首席架構(gòu)師,一頭飄逸長(zhǎng)發(fā),江湖人稱“玄姐”。
1
? ?
什么是大中臺(tái)(業(yè)務(wù)中臺(tái)、數(shù)據(jù)中臺(tái)、技術(shù)中臺(tái)等)
大中臺(tái)小前臺(tái)的組織模式最近在業(yè)界很火熱,此模式最早在芬蘭著名移動(dòng)游戲公司 Supercell 實(shí)施。在 Supercell 公司內(nèi)部以小前臺(tái)的方式組織了若干個(gè)開發(fā)團(tuán)隊(duì),每個(gè)開發(fā)團(tuán)隊(duì)包含開發(fā)一款游戲所需的各種角色,從而在開發(fā)團(tuán)隊(duì)內(nèi)部可以快速?zèng)Q策、快速開發(fā)。而支撐這些開發(fā)團(tuán)隊(duì)的基礎(chǔ)設(shè)施(機(jī)房、網(wǎng)絡(luò)、架構(gòu)組件等)、游戲引擎、內(nèi)部開發(fā)測(cè)試發(fā)布上線工具等則由“部落”(即中臺(tái))部門提供。“部落”部門可以根據(jù)需要擴(kuò)展為多個(gè)小分隊(duì),亦即中臺(tái)部門劃分成多個(gè),但各個(gè)小分隊(duì)都保持共同目標(biāo)。“部落”作為中臺(tái)部門,賦能前臺(tái)業(yè)務(wù)開發(fā)團(tuán)隊(duì),中臺(tái)部門本身并不直接提供游戲給消費(fèi)者。
在國(guó)內(nèi),2015 年阿里巴巴業(yè)務(wù)種類紛繁復(fù)雜,業(yè)務(wù)之間交叉依賴,業(yè)務(wù)團(tuán)隊(duì)眾多,不能及時(shí)響應(yīng)業(yè)務(wù)需求。2015 年 12 月張勇宣布啟動(dòng)中臺(tái)戰(zhàn)略,構(gòu)建符合 DT 時(shí)代的更具備創(chuàng)新性和靈活性的“大中臺(tái),小前臺(tái)”的組織機(jī)制和業(yè)務(wù)機(jī)制,實(shí)現(xiàn)管理模式創(chuàng)新。即將產(chǎn)品技術(shù)力量和數(shù)據(jù)運(yùn)營(yíng)能力從前臺(tái)剝離,成為獨(dú)立的中臺(tái),包括搜索事業(yè)部、共享業(yè)務(wù)事業(yè)部、數(shù)據(jù)平臺(tái)事業(yè)部等,為前臺(tái)即零售電商事業(yè)群提供服務(wù)。從而前臺(tái)得到精簡(jiǎn),保持足夠的敏捷度,更好地滿足業(yè)務(wù)發(fā)展和創(chuàng)新需求。2017 年 5 月出版了《企業(yè) IT 架構(gòu)轉(zhuǎn)型之道:阿里巴巴中臺(tái)戰(zhàn)略思想和架構(gòu)實(shí)踐》,
隨后很多互聯(lián)網(wǎng)公司快速跟進(jìn)中臺(tái)戰(zhàn)略:2017 年 12 月滴滴構(gòu)建業(yè)務(wù)中臺(tái)、2018 年 12 月京東宣布前臺(tái)、中臺(tái)、后臺(tái)組織架構(gòu)[1]。進(jìn)入 2019 年,大中臺(tái)小前臺(tái)模式更是在各個(gè)公司如火如荼地進(jìn)行中。
那么中臺(tái)是什么?中臺(tái)是一種組織機(jī)制和業(yè)務(wù)機(jī)制。在公司組織架構(gòu)層面通過(guò)組織架構(gòu)調(diào)整,物理拆分成獨(dú)立的中臺(tái)部門。在公司業(yè)務(wù)層面通過(guò)把公共能力下沉為服務(wù),并做好服務(wù)間連接,持續(xù)賦能業(yè)務(wù)部門。
可類比航母(大中臺(tái))攜帶和賦能艦載機(jī)(小前臺(tái))作戰(zhàn)(如圖 1);也可類比為中臺(tái)生產(chǎn)各種樂(lè)高顆粒,傳感器和執(zhí)行器(如圖 2)。前臺(tái)把這些顆粒打包集成為各種樂(lè)高套裝,再加上不同的文檔和包裝,以及少量個(gè)性顆粒(比如特定 IP 的積木,星戰(zhàn)主題積木塊),快速形成不同產(chǎn)品賣給不同用戶。
另一方面,如果開發(fā)了 10000 種 SKU 的樂(lè)高套裝,反過(guò)來(lái)會(huì)形成一個(gè)強(qiáng)大的樂(lè)高積木中臺(tái),幾乎無(wú)所不能,前臺(tái)產(chǎn)品越多,中臺(tái)也越強(qiáng)大,中臺(tái)越強(qiáng)大,前臺(tái)產(chǎn)品開發(fā)也越簡(jiǎn)單,競(jìng)爭(zhēng)力極強(qiáng)。
圖 1 航空母艦和艦載機(jī)
圖 2 樂(lè)高顆粒和產(chǎn)品
公司執(zhí)行好大中臺(tái)小前臺(tái)模式,首先需要進(jìn)行組織架構(gòu)調(diào)整,比如阿里巴巴大中臺(tái)小前臺(tái)組織架構(gòu)(如圖 3)如下:中臺(tái)事業(yè)群和小前臺(tái)事業(yè)群。其中中臺(tái)事業(yè)群包括:搜索事業(yè)部、共享業(yè)務(wù)事業(yè)部(用戶、商品、交易等)、數(shù)據(jù)技術(shù)及產(chǎn)品部(OLAP)、基礎(chǔ)架構(gòu)事業(yè)部等;小前臺(tái)事業(yè)群包括電商事業(yè)群、螞蟻金服集團(tuán)、阿里云事業(yè)群、菜鳥網(wǎng)絡(luò)、大文娛集團(tuán)、阿里媽媽等其他。
圖 3 阿里巴巴大中臺(tái)小前臺(tái)組織架構(gòu)
公司的交付物是產(chǎn)品,為了讓公司更好地完成產(chǎn)品的交付,需要做好業(yè)務(wù)架構(gòu)、數(shù)據(jù)架構(gòu)、技術(shù)架構(gòu)三個(gè)層面。其中業(yè)務(wù)架構(gòu)(OLTP)包括個(gè)性化的業(yè)務(wù)架構(gòu)(小前臺(tái))和公共業(yè)務(wù)架構(gòu)(中臺(tái)),數(shù)據(jù)架構(gòu)(OLAP)包括個(gè)性化的數(shù)據(jù)架構(gòu)(小前臺(tái))和公共數(shù)據(jù)架構(gòu)(中臺(tái)),技術(shù)架構(gòu)即技術(shù)支撐(中臺(tái))。這三個(gè)層面的架構(gòu),我們可以進(jìn)一步抽象和拆分個(gè)性化部分和公共部分。其中個(gè)性化的部分即小前臺(tái)部分,公共部分即中臺(tái)部分。因此公司的中臺(tái)分為業(yè)務(wù)中臺(tái)、數(shù)據(jù)中臺(tái)和技術(shù)中臺(tái)。
假如公司的業(yè)務(wù)架構(gòu)采用了目前主流的微服務(wù)架構(gòu)模式(如圖 4),其中大中臺(tái)部分包括:網(wǎng)關(guān)層、公共業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層、DB、Cache、配置中心、注冊(cè)中心,小前臺(tái)部分包括:業(yè)務(wù)邏輯層、App 端。
圖 4 業(yè)務(wù)架構(gòu)
假如公司的數(shù)據(jù)架構(gòu)采用了目前主流的 Hadoop 生態(tài)架構(gòu)模式(如圖 5),其中大中臺(tái)部分包括:PAAS 層(數(shù)據(jù)傳輸、數(shù)據(jù)計(jì)算、數(shù)據(jù)存儲(chǔ))、DAAS 層(數(shù)據(jù)源、數(shù)據(jù)倉(cāng)庫(kù)、數(shù)據(jù)集市 /數(shù)據(jù)模型),小前臺(tái)部分包括:DA(Data Application)(留存應(yīng)用、畫像應(yīng)用、業(yè)務(wù)報(bào)表應(yīng)用、數(shù)據(jù)智能應(yīng)用)。
圖 5 數(shù)據(jù)架構(gòu)
假如公司的技術(shù)架構(gòu)采用了目前主流的技術(shù)棧(如圖 6),其中大中臺(tái)部分包括:基礎(chǔ)平臺(tái)(消息平臺(tái)、分布式鎖平臺(tái)、APM、立體監(jiān)控平臺(tái)、任務(wù)調(diào)度平臺(tái)等)、基礎(chǔ)組件(Web 框架、RPC 框架、分布式事務(wù)、數(shù)據(jù)庫(kù)中間件等)、服務(wù)網(wǎng)格、存儲(chǔ)體系(RDBMS、NoSQL、NewSQL)、容器彈性云等。
圖 6 技術(shù)架構(gòu)
2
? ?
什么是小前臺(tái)
從公司組織架構(gòu)上來(lái)看,公司的個(gè)性化業(yè)務(wù)部門屬于小前臺(tái),從公司業(yè)務(wù)服務(wù)上來(lái)看,公司的個(gè)性化業(yè)務(wù)服務(wù)屬于小前臺(tái)。
3
? ?
大中臺(tái)小前臺(tái)模式適用場(chǎng)景
大中臺(tái)小前臺(tái)模式特別有利于業(yè)務(wù)復(fù)制嘗試和需要大量嘗試創(chuàng)新的新業(yè)務(wù),假如把公司的發(fā)展周期劃分為 0-1 階段為初創(chuàng)公司,1-10 階段為高速成長(zhǎng)型公司,10-100 階段為穩(wěn)定發(fā)展型公司。那么此模式比較適合 10-100 階段,1-10 階段可以開始嘗試了,但不適合 0-1 的初創(chuàng)公司階段。
大中臺(tái)需要通過(guò)抽象、封裝共性能力和知識(shí),可供需要使用的小前臺(tái)使用(提供內(nèi)部產(chǎn)品、服務(wù)、賦能等),從而使讓前臺(tái)更靈活,降低創(chuàng)新成本,支持更快更輕的試錯(cuò)和創(chuàng)新。
4
? ?
大中臺(tái)小前臺(tái)電商架構(gòu)如何設(shè)計(jì)實(shí)踐
在電商行業(yè)實(shí)施大中臺(tái)小前臺(tái)的業(yè)務(wù)架構(gòu)模式,需要結(jié)合業(yè)務(wù)領(lǐng)域做好兩個(gè)層面的工作,
第一,在公司業(yè)務(wù)層面通過(guò)把公共能力下沉為服務(wù);
第二,做好服務(wù)的連接,并持續(xù)賦能業(yè)務(wù)部門。
在電商行業(yè)內(nèi),公共能力下沉為服務(wù),比如把用戶、商品、交易、支付、營(yíng)銷、搜索、推薦、風(fēng)控等服務(wù)抽象后下沉為獨(dú)立的服務(wù)。如圖 7 所示的業(yè)務(wù)架構(gòu),其中網(wǎng)關(guān)層、公共業(yè)務(wù)邏輯層、數(shù)據(jù)訪問(wèn)層、DB、Cache 以及注冊(cè)中心、配置中心等屬于電商的公共能力,為電商的中臺(tái)服務(wù)。APP 端、小程序端、個(gè)性化業(yè)務(wù)邏輯層等個(gè)性化的服務(wù)屬于小前臺(tái)部分。
圖 7 電商業(yè)務(wù)架構(gòu)
在電商行業(yè)構(gòu)建大中臺(tái)小前臺(tái)的模式中,第二步需要做好公共能力下沉服務(wù)的全連接,使得小前臺(tái)業(yè)務(wù)可以做到一鍵接入。如何做好公共服務(wù)的全連接呢?首先需要從公司層面定義好業(yè)務(wù)線的標(biāo)識(shí)標(biāo)準(zhǔn),比如采用三級(jí)體系結(jié)構(gòu),如表 1 所示:
表 1 業(yè)務(wù)線標(biāo)識(shí)三級(jí)體系結(jié)構(gòu)
公司統(tǒng)一了業(yè)務(wù)線三級(jí)體系結(jié)構(gòu)后,需要提供統(tǒng)一的業(yè)務(wù)注冊(cè)中心,使得業(yè)務(wù)通過(guò)業(yè)務(wù)注冊(cè)中心完成所有業(yè)務(wù)線三級(jí)體系結(jié)構(gòu)的注冊(cè)以及查詢。其次公司層面需要統(tǒng)一的業(yè)務(wù)線分發(fā)配置服務(wù),分發(fā)配置服務(wù)的作用是把每個(gè)小前臺(tái)業(yè)務(wù)需要連接的中臺(tái)服務(wù)集中配置(比如手機(jī)前臺(tái)業(yè)務(wù)需要接入商品中臺(tái)、搜索中臺(tái)、客服中臺(tái)、交易中臺(tái)等配置策略),并且配置小前臺(tái)業(yè)務(wù)數(shù)據(jù)分發(fā)到每個(gè)中臺(tái)服務(wù)的具體的接入策略(比如手機(jī)前臺(tái)業(yè)務(wù)接入到搜索服務(wù)中臺(tái),手機(jī)業(yè)務(wù)哪些字段需要建立索引等接入策略),詳見表 2 所示:
表 2 業(yè)務(wù)線分發(fā)配置策略
在公司層面具備了統(tǒng)一的業(yè)務(wù)注冊(cè)中心和分發(fā)配置服務(wù)后,需要進(jìn)一步建立分發(fā)連接中心,分發(fā)連接中心需要分發(fā)兩方面的內(nèi)容:策略流和數(shù)據(jù)流,第一是策略流,分發(fā)業(yè)務(wù)線分發(fā)配置策略到各個(gè)中臺(tái)服務(wù),比如在表 2 中需要把業(yè)務(wù)線 ID 為 1 的商品數(shù)據(jù)類型的接入策略分發(fā)到表 2 中配置的商品中臺(tái)服務(wù)、搜索中臺(tái)服務(wù)、推薦中臺(tái)服務(wù)、客服中臺(tái)服務(wù)、數(shù)據(jù)中臺(tái)服務(wù)等,并把訂單數(shù)據(jù)類型的接入策略分發(fā)到表 2 中配置的搜索中臺(tái)服務(wù)、客服中臺(tái)服務(wù)等。這些中臺(tái)服務(wù)收到分發(fā)連接中心的前臺(tái)數(shù)據(jù)接入中臺(tái)策略后,解析這些接入策略,后續(xù)對(duì)數(shù)據(jù)流的處理按照這些接入策略進(jìn)行,完成策略的全連接。第二是數(shù)據(jù)流,當(dāng)小前臺(tái)業(yè)務(wù)產(chǎn)生相應(yīng)的數(shù)據(jù)時(shí),會(huì)分發(fā)到對(duì)應(yīng)的中臺(tái)服務(wù)。比如手機(jī)前臺(tái)產(chǎn)生商品數(shù)據(jù),由分發(fā)連接中心分發(fā)給相應(yīng)的商品中臺(tái)、搜索中臺(tái)、推薦中臺(tái)、客服中臺(tái)、數(shù)據(jù)中臺(tái)等,完成數(shù)據(jù)的全連接。
公司大中臺(tái)小前臺(tái)連接生態(tài)如圖 8 所示,包含了小前臺(tái)業(yè)務(wù) 1、業(yè)務(wù)注冊(cè)中心、分發(fā)配置服務(wù)、業(yè)務(wù)分發(fā)連接中心、各個(gè)中臺(tái)服務(wù),圖 8 中包含了一個(gè)業(yè)務(wù)的策略流(黑色連接線)和數(shù)據(jù)流(紅色連接線)具體的分發(fā)連接關(guān)系。
圖 8 大中臺(tái)小前臺(tái)連接生態(tài)
公司具備了大中臺(tái)小前臺(tái)的連接生態(tài)后,那么小前臺(tái)業(yè)務(wù)產(chǎn)生的數(shù)據(jù)(比如手機(jī)業(yè)務(wù)的商品數(shù)據(jù))如何存儲(chǔ)呢?以小前臺(tái)業(yè)務(wù)產(chǎn)生的商品數(shù)據(jù)為例,包括了商品公共的數(shù)據(jù)以及小前臺(tái)業(yè)務(wù)個(gè)性化的數(shù)據(jù)。針對(duì)商品公共數(shù)據(jù)和商品個(gè)性化數(shù)據(jù),存儲(chǔ)有兩種方案,一是商品公共數(shù)據(jù)存儲(chǔ)在中臺(tái)部門,商品個(gè)性化數(shù)據(jù)存儲(chǔ)在小前臺(tái)業(yè)務(wù)部門;第二種方案是商品公共數(shù)據(jù)和商品個(gè)性化數(shù)據(jù)全部存儲(chǔ)在中臺(tái)部門,有利用數(shù)據(jù)的統(tǒng)一存儲(chǔ)和管理,并且使得業(yè)務(wù)查詢等接入也非常簡(jiǎn)單。推薦大家使用第二種數(shù)據(jù)存儲(chǔ)方案(同時(shí)同學(xué)們思考下第一種存儲(chǔ)方案帶來(lái)的問(wèn)題有哪些?),那么針對(duì)商品的公共數(shù)據(jù)和個(gè)性化數(shù)據(jù)設(shè)計(jì)存儲(chǔ)表結(jié)構(gòu):商品公共數(shù)據(jù)表 +商品業(yè)務(wù)個(gè)性化擴(kuò)展數(shù)據(jù)表,其中商品公共數(shù)據(jù)表包含了所有業(yè)務(wù)線商品公共的字段,如表 3 所示:商品 ID、發(fā)布人、分類 ID、價(jià)格、發(fā)布時(shí)間、商品庫(kù)存、商品狀態(tài)等等。
圖 3 商品公共數(shù)據(jù)表
其中商品個(gè)性化數(shù)據(jù)表(如表 4)采用 Key,Value 擴(kuò)展列的方式進(jìn)行存儲(chǔ),比如 Key 的類型可以固定幾種類型:比如 Long 類型、Double 類型、String 類型,業(yè)務(wù)個(gè)性化數(shù)據(jù)都使用固定的幾種數(shù)據(jù)類型來(lái)表示和存儲(chǔ),列中 Key 的含義在映射表(如表 5)中指定了每個(gè) Key 具體的的業(yè)務(wù)字段含義。
表 4 商品業(yè)務(wù)個(gè)性化擴(kuò)展數(shù)據(jù)表
表 5 商品個(gè)性化字段映射數(shù)據(jù)表
通過(guò)以上大中臺(tái)小前臺(tái)的連接生態(tài)以及公共數(shù)據(jù)表和業(yè)務(wù)個(gè)性化數(shù)據(jù)表的存儲(chǔ)方式,使得大中臺(tái)小前臺(tái)模式在公司內(nèi)得以很好的落地和實(shí)踐。
參考文獻(xiàn):
[1] 中臺(tái)戰(zhàn)略-中臺(tái)建設(shè)與數(shù)字商業(yè):機(jī)械工業(yè)出版社
- EOF -
想要加入中生代架構(gòu)群的小伙伴,請(qǐng)?zhí)砑尤汉匣锶?strong>大白的微信
申請(qǐng)備注(姓名+公司+技術(shù)方向)才能通過(guò)哦!
好文推薦
混沌工程:蘇寧系統(tǒng)穩(wěn)定性之道
貝殼找房技術(shù)總監(jiān)肖鵬:高速成長(zhǎng)下的技術(shù)團(tuán)隊(duì)怎么帶?
阿里技術(shù)專家楚衡:架構(gòu)制圖的工具與方法論
螞蟻集團(tuán)技術(shù)專家山丘:性能優(yōu)化常見壓測(cè)模型及優(yōu)缺點(diǎn)
京東平臺(tái)研發(fā)朱志國(guó):領(lǐng)域驅(qū)動(dòng)設(shè)計(jì)(DDD)理論啟示
架構(gòu)專家高磊:緩存為王——無(wú)線緩存架構(gòu)優(yōu)化
三湘銀行中臺(tái)總助黎慧劍:銀行業(yè)務(wù)中臺(tái)建設(shè)實(shí)戰(zhàn)
? ?END ? ?? #架構(gòu)師必備#點(diǎn)分享點(diǎn)點(diǎn)贊點(diǎn)在看
總結(jié)
以上是生活随笔為你收集整理的基于大中台小前台模式设计高并发电商架构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: NYOJ 891 找点
- 下一篇: JSP简单练习-JSP动作指令