雲時代的數據中台(二)
- 2019 年 10 月 6 日
- 筆記
當提到數據中台,系統的架構將發生巨大的變化,將單體的架構變化為鬆散式的架構,在業內目前的兩種鬆散實現方式有什麼優缺點?
一、單體架構的幾大缺點
在java web項目中,我們習慣於將一個web程式打為一個上百兆的war包,直接傳到tomcat等應用伺服器中進行執行。但架構的缺點很多:
1、團隊協同難度大。將整個web程式打成一個war包時,一定會有各種報錯。
2、應用複雜度高, 錯誤難以隔離。任何一個小bug都有可能造成整個war包執行中斷。
3、難以橫向擴展,資源浪費嚴重。資料庫連接程式非常耗費資源,如擴展war,將把其它不需要擴容的資源同步擴容。
二、通過服務化實現數據中台的好處
1、降低團隊的協同成本,降低系統的藕合度。各團隊成員基於自己的細分工作進行軟體包開發。
2、避免單個程式錯誤造成整個程式的崩潰。
3、便於擴容,節省資源。可以針對資料庫連接、web程式進行單獨的擴容,而其它資源佔用低的程式可不擴容。
三、數據中台的服務化改造兩個辦法
數據中台的理念需要將共同的服務提煉出來,為上層的應用提供服務,服務化的模組為數據中台。該模式有兩個要求:1、不允許跨級調度。2、只允許應用層向下調用數據中台服務,而數據中台不允許向上調度數據。
業務目前採用微服務的服務化改造、ESB中心化的兩種服務化改造方式,實際這兩種方式都是SOA服務化的具體體現。只是ESB經過廠商的大力宣傳,快成為了SOA的代名詞,而這是誤解。
1、普通企業流行ESB型的SOA服務化方式,中心化方式。ESB架構比通過系統間「點對點」直接連接的方式,有了服務協議轉換、負載均衡、服務路由、服務註冊、服務優先順序等優勢。主要實現了不同軟體架構的業務系統之間的互通。
2、互聯網公司流行容器化的SOA服務化方式,去中心化方式。面向互聯網業務的不可預測性,採用ESB方式,難以進行平滑擴容、且存在單點故障。互聯網企業很少採用ESB。相比中心化的服務架構,服務提供者與調用者之間僅在第一次有服務發現的機制,而在數據交互通,採用直通方式。採用直通方式,數據格式轉換的功能由程式自行完成。
我們可以發現以去中心化的方式,一般面向企業內部的系統,這樣便於規定統一的數據接入協議、數據標準。