<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          深入淺出話中臺

          共 11866字,需瀏覽 24分鐘

           ·

          2023-05-26 10:43

          最近 中臺很火,已經(jīng)代替微服務成為架構首選,涌現(xiàn)出各種各樣的中臺名詞,業(yè)務中臺、數(shù)據(jù)中臺、技術中臺、算法中臺等,讓人眼花繚亂,稍微大點的互聯(lián)網(wǎng)公司都號稱在做中臺。本人從去年開始,在做類似的事情,這里結(jié)合自己的實踐,談談對中臺的理解,希望能夠幫助大家更清晰地了解中臺,一家之言,僅供參考。

          本文的內(nèi)容包括:

          1) ?????? 什么是中臺

          2) ?????? 中臺和微服務的區(qū)別

          3) ?????? 為什么要做中臺

          4) ?????? 深入中臺架構

          什么是中臺

          既然講中臺,必然還有前臺和后臺。前臺很好理解,指的是面向 C 端的應用,包括前端 ( App/ 小程序 ) 和對應的服務端。至于后臺,很多人把它等同于管理后臺,比如商品管理后臺,負責商品定義 / 上下架等,提供給內(nèi)部運營人員使用,這可能不夠準確。

          簡單來說,對于一個交易系統(tǒng),前臺對應用戶能看到的部分,如商品瀏覽和下單,屬于接單的部分;后臺對應履單部分,如倉庫揀貨 / 配送 / 財務結(jié)算 / 采購補貨等,屬于實際干活的,由企業(yè)內(nèi)部人員負責,處于一個交易處理流程的后端。

          在傳統(tǒng)企業(yè),沒有在線的前臺,基本是線下手工接單,內(nèi)部信息管理系統(tǒng)基本都屬于履單范疇,例如 ERP 、 CRM 、采購系統(tǒng)、倉庫管理系統(tǒng),財務系統(tǒng)等,這些系統(tǒng)屬于一般意義上的后臺概念。

          在互聯(lián)網(wǎng)企業(yè),因為系統(tǒng)一般是自己開發(fā),管理后臺既包含面向前臺銷售的功能,如商品上下架和促銷管理,也包含面向履單部分,比如配送、采購、財務結(jié)算,所以互聯(lián)網(wǎng)企業(yè)的管理后臺并不簡單等同于履單后臺。

          接單和履單之間還有一系列事情要做,包括生成訂單時的優(yōu)惠計算 / 創(chuàng)建實際的訂單 / 支付 / 庫存扣減等 , 這部分功能屬于交易邏輯的核心。在簡單場景下,前臺應用包含這部分功能,在復雜的場景下,就有必要把這部分獨立出來,構成獨立的中臺,為前臺減負。

          一些文章籠統(tǒng)地介紹中臺是用來連接前臺和后臺的,這個值得商榷。如果管理后臺就是后臺,那沒有連接的必要,因為管理后臺本身就是系統(tǒng)的附屬部分,和前臺屬于一體兩面。至于履單后臺,前臺接單系統(tǒng)和后臺履單系統(tǒng)設計時就是打通的,也不需要額外定義一個中臺來連接兩者?;ヂ?lián)網(wǎng)企業(yè)的中臺更多的是基礎業(yè)務下沉,實現(xiàn)多業(yè)務場景共享,但在傳統(tǒng)企業(yè),后臺系統(tǒng)清晰地存在,中臺確實起到連接后臺 ( 內(nèi)部老系統(tǒng) ) 和前臺 ( 新的 C 端應用 ) 的作用,所以互聯(lián)網(wǎng)企業(yè)的中臺和傳統(tǒng)企業(yè)的中臺定位和側(cè)重點是有差異的,這個下文會展開介紹。

          ?

          為了更好理解中臺,這里舉個形象的例子:

          52e11e38dc649ff307c570f5b263789e.webp


          最上面是各種具體的桌面應用,比如 office 套件,最底下是各種硬件設備,磁盤 / 內(nèi)存 /CPU 等。

          桌面應用能不能直接操縱底層硬件設備完成功能?理論上是可以的,比如在應用里嵌入?yún)R編語言直接操作硬件,但顯然開發(fā)效率低,可維護性很差。如果中間加一層操作系統(tǒng)進行轉(zhuǎn)換,向下管理硬件,向上提供簡潔的 API ,應用開發(fā)就非常方便,這里操作系統(tǒng)類似中臺的定位。

          對于大型傳統(tǒng)零售企業(yè) ( 上圖右邊部分 ) ,企業(yè)經(jīng)過多年信息化建設,購買了大量的商業(yè)套裝軟件,形成內(nèi)部 IT 基礎設施,現(xiàn)在要往新零售轉(zhuǎn)型,理論上 C 端的應用可以直接調(diào)用老系統(tǒng)的 API( SAP 產(chǎn)品提供一定的開放能力 ) 來實現(xiàn)功能打通。但和桌面應用直接控制電腦硬件設備類似,這兩者直接對接是低效的,兩者的服務對象 (2C 2B)/ 數(shù)據(jù)模型 / 技術棧 / 實時性要求差異很大,而且新的應用進來,又要從頭到尾對接一遍,新業(yè)務上線,至少需要大半年的時間。

          這時如果有個中間層負責橋接和轉(zhuǎn)換,就非常方便。 C 端應用可以快速基于這個中間層構建,不用關心底層遺留系統(tǒng)的實現(xiàn)細節(jié)。這個中間層就是中臺,起到類似操作系統(tǒng)的作用,把舊的基礎設施轉(zhuǎn)換成面向互聯(lián)網(wǎng)的基礎平臺,而且這個平臺非常通用,新業(yè)務可以快速對接,短時間搞定上線。傳統(tǒng)企業(yè)在做全面數(shù)字化轉(zhuǎn)型時,這樣的一個中臺必不可少。

          ?

          中臺和微服務的區(qū)別

          中臺源于大型互聯(lián)網(wǎng)企業(yè),這些系統(tǒng)一般是分布式的微服務架構,那么中臺和微服務架構有什么區(qū)別呢?

          簡單地說,我認為中臺是微服務的升級,原來只是一個個離散的服務,只負責提供接口功能,如商品服務 / 訂單服務 / 權限服務,在中臺里,升級為商品中心 / 訂單中心,每個中心更強調(diào)體系,包括更好的邊界劃分和業(yè)務抽象,更好地監(jiān)控和系統(tǒng)運營能力 ( 穩(wěn)定性 / 故障定位 ) ,更好的業(yè)務運營能力 ( 比如商品中心自帶商品管理后臺,支持基礎商品定義 ) 。每個服務中心圍繞核心業(yè)務,自成體系,成為一個微內(nèi)核,這些微內(nèi)核既相互獨立,又形成一個整體,共同構成基礎業(yè)務平臺,也即中臺。松散的微服務 -> 共享服務體系 -> 中臺,這是微服務架構和中臺的區(qū)別和聯(lián)系。

          ? 現(xiàn)在大家談的最多的是業(yè)務中臺,我認為一個典型的業(yè)務中臺包含 3 層:


          5c92661aa627788b5b0c4382218ceb68.webp

          對于中臺來說,完善的基礎業(yè)務功能由通用基礎業(yè)務平臺實現(xiàn);通用聚合服務進一步提升易用性 ; 通用中間件平臺保證系統(tǒng)的穩(wěn)定性。

          除了業(yè)務中臺,提的比較多的是數(shù)據(jù)中臺,數(shù)據(jù)中臺也是整合數(shù)據(jù)能力,可以高效地給業(yè)務賦能,比如智能推薦,千人千面,精準營銷等。

          補充說明下,這里通用中間件平臺和技術中臺一個概念,我覺得沒有必要單獨叫技術中臺,不帶業(yè)務的中臺是沒有靈魂的,不能叫中臺。同理內(nèi)容中臺的說法是合適的,但算法中臺就不合適,大家可以用這個原則區(qū)分各種中臺的真?zhèn)巍?/span>

          為什么要做中臺

          軟件架構從單體架構,到分布式 SOA ,到微服務,到中臺架構,這都是業(yè)務復雜化的結(jié)果,架構好比生產(chǎn)關系,業(yè)務是生產(chǎn)力,架構一定要隨著業(yè)務發(fā)展而演化。 0 1 階段,只有一條業(yè)務線,比如出租車業(yè)務,直接根據(jù)需求實現(xiàn)即可。從 1 n 階段,業(yè)務線逐漸增加,比如快車 / 順風車。 這時系統(tǒng)有兩種做法,第一種是新業(yè)務線還是單獨實現(xiàn),多個業(yè)務線之家是相互獨立的,系統(tǒng)結(jié)構整體上是 字型。但如果業(yè)務線類似,它們的核心邏輯(地圖 / 調(diào)度 / 訂單支付)也是類似的,子系統(tǒng)之間有大量的代碼復制和多地維護,這是非常低效的。 第二種做法是把核心邏輯單獨抽取出來,做好通用化,共同服務于所有業(yè)務線的需求,此時對于各個業(yè)務線系統(tǒng)而言,包括自身的應用層和通用層兩部分,定制的東西在應用層解決,共享的東西由通用層提供,再通過編排共享邏輯完成業(yè)務流程。系統(tǒng)結(jié)構整體上是 字型,這個通用層就是山字最底下一橫,把各個業(yè)務線有機粘合在一起,共享業(yè)務邏輯和統(tǒng)一業(yè)務規(guī)則,實現(xiàn)最大程度的復用。 當然搭建山字形是有難度的,什么時候轉(zhuǎn)型為“山”字形? 一方面和 n 值有關,比如 n>=3 時,應該要考慮轉(zhuǎn)到山字形,另一個因素和各個業(yè)務線的相似度有關,相似度高更適合 字形,比如電商的 C2C B2C 業(yè)務;差異比較大,適合 字形,比如電商業(yè)務和互聯(lián)網(wǎng)金融業(yè)務,沒必要強行扭在一起。


          3dbdfc5298582a664d5552cbf8c21413.webp


          從業(yè)務角度看,中臺代表通用的基礎業(yè)務,一個企業(yè)基礎的業(yè)務能力和業(yè)務規(guī)則是相對穩(wěn)固和清晰的,各個業(yè)務線可以認為具體業(yè)務場景,如小程序下單 / 三方外賣等相對復雜和多變,但可以通過組裝各個基礎業(yè)務,快速滿足業(yè)務場景需求。對于新的業(yè)務來說,基礎的東西已經(jīng)差不多有了,只需要少量針對場景的定制開發(fā)??偟膩碚f,中臺收斂了業(yè)務場景,統(tǒng)一了業(yè)務規(guī)則,比如各個渠道的訂單都歸到中臺的訂單服務,遵循類似的訂單狀態(tài)流轉(zhuǎn)和履單過程。

          基礎業(yè)務是有限的,業(yè)務場景是無限的,特別是在移動互聯(lián)網(wǎng)和全面數(shù)字化轉(zhuǎn)型的大背景下,傳統(tǒng)企業(yè)需要開拓大量新渠道,搭建中臺,可以很好地通過有限的基礎業(yè)務滿足無限的業(yè)務場景。 從系統(tǒng)角度看,中臺相當于商業(yè)操作系統(tǒng),提供標準接口給上層應用,對于傳統(tǒng)企業(yè)來說,中臺之下還有明確的后臺,中臺很好地把前端應用 ( 面向互聯(lián)網(wǎng) ) 和企業(yè)遺留系統(tǒng) ( 面向內(nèi)部管理 ) 銜接起來,屏蔽底層系統(tǒng)的復雜性和各種適配工作。 從數(shù)據(jù)角度看,中臺收斂業(yè)務場景的同時,也收斂了數(shù)據(jù) 比如自有小程序的訂單和外賣訂單統(tǒng)一到一個訂單庫,使用同一套數(shù)據(jù)模型(具體用到的字段可能略有差異),這為后續(xù)的數(shù)據(jù)中臺搭建打下良好基礎。

          ?

          深入中臺架構

          大一點的互聯(lián)網(wǎng)企業(yè),系統(tǒng)已經(jīng)是類中臺的“山”字型架構,更多的是局部強化和整合。對于傳統(tǒng)企業(yè)來說,系統(tǒng)基本是 字型,大量相互獨立的商業(yè)套件組成遺留系統(tǒng)。如何基于這些系統(tǒng)搭建中臺挑戰(zhàn)很大,所以這里更多剖析傳統(tǒng)企業(yè)的中臺架構。

          ?

          下圖是比較典型的傳統(tǒng)企業(yè)中臺架構:


          ea0b65688258d926106dc82d5fac044e.webp

          整個架構從上到下分 4 層:

          1) ?????? 渠道 & 應用

          這是整個系統(tǒng)對外部分,包括各個應用的前端,如 APP/ 小程序 / 公眾號 , 這些是需要定制部分。同時提供 Open API ,對外部企業(yè)輸出業(yè)務能力。

          2) ?????? 應用平臺

          應用平臺是各個實際應用的母體,首先包含各個應用的服務端,比如小程序服務端 /APP 服務端,這些服務端針對具體場景,做流程編排和信息的聚合。

          還有各個比較獨立的應用模塊,如搜索 / 推薦 / 評論 / 拼團,這些模塊不強調(diào)各個業(yè)務線之間共享,只是作為獨立模塊從服務端剝離出來,方便維護。

          還有一些相對簡單服務,不屬于基礎共享業(yè)務范疇,比如和具體某個業(yè)務相關的配置數(shù)據(jù),也通過服務的方式封裝。

          網(wǎng)關實現(xiàn)前后端隔離,包括外部訪問的安全驗證和監(jiān)控,以及內(nèi)部路由和消息格式轉(zhuǎn)換。

          3) ?????? 業(yè)務中臺

          由一系列的通用基礎服務構成,這些基礎服務邊界清晰,相互獨立,沒有調(diào)用關系。有些業(yè)務場景需要跨服務的數(shù)據(jù),比如下單,需要同時涉及商品服務 / 庫存服務 / 訂單服務,一般在基礎服務之上有一層聚合服務,通過組合這些基礎服務,形成更大粒度的功能接口,供應用平臺調(diào)用。

          中臺最底下是技術中間件,包括消息推送,短信郵件,數(shù)據(jù)訪問等,穩(wěn)定性主要由這部分保證。

          4) ?????? 后臺

          包括兩部分,適配插件用于連接商戶內(nèi)部系統(tǒng)和中臺基礎服務,比如在中臺商品服務和后臺 ERP 之間同步商品和庫存數(shù)據(jù),在會員服務和 CRM 之間同步會員信息。一般針對每個內(nèi)部系統(tǒng)有一個適配插件,適配插件起到類似硬件驅(qū)動程序的作用,這個定制化程度比較高。

          商戶內(nèi)部系統(tǒng)就不展開,各個企業(yè)的情況不同。 ?

          架構圖最右邊是三方 API 對接,典型的如微信 / 支付寶的對接,美團 / 餓了嗎三方外賣對接,天貓 / 京東的電商平臺對接。這個對接前端 / 應用平臺 / 中臺都會涉及。 ?

          總結(jié)

          架構向中臺轉(zhuǎn)型是業(yè)務復雜化發(fā)展的必然結(jié)果,中臺提供了多方面的價值,不管互聯(lián)網(wǎng)企業(yè)還是傳統(tǒng)企業(yè),中臺的大方向都是沒錯的。

          對于互聯(lián)網(wǎng)企業(yè),有基礎,往中臺轉(zhuǎn)型是改良,需要注意的是,根據(jù)當前的業(yè)務發(fā)展階段,平衡投入和產(chǎn)生比,適時啟動中臺改造。

          對于傳統(tǒng)企業(yè),內(nèi)部 IT 基礎設施和面向互聯(lián)網(wǎng)的應用差異很大,往中臺轉(zhuǎn)是革命性動作。如何落地中臺戰(zhàn)略既需要頂層思考,又需要結(jié)合實際,做各種平衡和妥協(xié)。做的不好,效果適得其反,所謂不做中臺等死,做中臺馬上死,從這個意義上說,是否上中臺,有點類似十幾年前上大型 ERP ,需要務實的評估,拒絕形式主義。

          ?

          后續(xù)會介紹關于中臺的更多內(nèi)容,敬請期待:

          • 服務化成熟度模型

          • 企業(yè)信息系統(tǒng)成熟度模型

          • 什么時候適合做中臺

          • 中臺 有哪些 挑戰(zhàn)

          • 中臺的落地步驟

          ?

          作者介紹

          王慶友,大型電商平臺負責人兼首席架構師,先后就職于 ebay 、騰訊、 1 號店、非碼科技,精通 大型電商平臺和門店零售及 O2O 交易 系統(tǒng) , 有豐富的高并發(fā) / 高可靠系統(tǒng)建設經(jīng)驗, 非常接地氣,微信Brucetwins,頭條號架構大道,目前正在尋找合適的工作機會,歡迎關注,一起聊架構,一起做事。

          瀏覽 84
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  在线欧美一区 | 操逼靠逼| 青青久操视频 | 8050午夜网站 | 麻豆大黑鸡吧 |