數字化轉型進入深水區,雲原生在行業落地應用随之深入,中間件與此相應的進化也成為了時尚。在企業級雲原生中間件技術實戰中,除了中間件本身,還涉及分布式基礎、Kubernetes、高可用、擴展性方、穩定性、可觀測性等一系列技術,以及Golang編程語言,挑戰巨大。
近日,網易數帆雲原生首席架構師馮常健接受InfoQ《極客有約》直播訪談,結合輕舟中間件研發及業務實踐,深入解讀了雲原生中間件技術進化的路徑、難點解決和應用心得,如研發代碼量如何降低80%,網易雲音樂 Redis資源成本如何節約 30%+,以及可觀測性的探索等。本文整理了此次訪談中尤為精彩的核心觀點,供關注中間件雲原生化的讀者參考。

雲原生中間件的本質:運維經驗和能力的沉澱
1、運維标準化:一方面重新定義了傳統中間件運維人員的工作界面,使得基礎能力下沉到Kubernetes,大量常規運維操作被抽象成Kubernetes上的一個個資源定義,對于運維人員來說,擴縮容和遷移重建、故障恢複等高頻操作都可以通過kubectl統一操作,極大降低運維門檻和工作量,标準化的好處;另一方面雲原生化的中間件天然能夠進行跨雲跨異構基礎設施的部署交付,用戶體驗保持一緻。
2、其他一系列的高可用、穩定性、擴展性、易運維特性都是建立在這樣的标準化之上的。
不同類型中間件的雲原生路徑
我們對中間件的定義是說連接業務應用和操作系統的系統軟件,一般都是帶點狀态或者微狀态的。雲原生中間件一般是指構建在Kubernetes平台上的中間件,包括中間件本身及其配套的管控系統。不同中間件的雲原生形态有相同的通用基礎框架,包括:
1、Kubernetes的Operator框架以及Operator托管平台OLM,負責中間件集群的生命周期管理。
2、Kubernetes上資源管理和調度:CPU、内存、磁盤。
3、使用中間統一訪問入口:基于headless-service和service的内部訪問;基于LB或者Nodeport的外部訪問。
4、通用彈性擴縮容,實例遷移、動态配置等。
5、要實現更高層次的高可用,比如多機房,多集群,依賴像擴展調度系統和集群聯邦這樣的組件等。
6、建立在雲原生平台上的可觀測性,包括監控告警、日志采集、事件管理等。
各中間件因為本身對資源依賴不同,集群拓撲管理不同,所以在通用基礎框架下,雲上實現和管理各不相同,其内在的運維管理方式,需要在通用基礎框架之上進行擴展。
網易數帆雲原生中間件發展曆程
注:為行文、閱讀方便,數帆及其前身統稱為“網易數帆”
雲原生中間件與2012 年PaaS中間件雲化、2015 ~ 2019年容器化&在線業務網格化一脈相承:
a)2019年,基于 Operator 實現基礎中間件的生命周期管理,以及擴縮容、遷移、監控、動态配置參數、故障恢複、單集群多機房高可用等。
b)2020年,多集群架構的高可用,國産化軟硬件平台适配,包括主流ARM架構和x86架構國産芯片和國産操作系統。
c)2021年,穩定性巡檢産品化,兩地三中心和多活能力建設。
總體來說,先滿足最基本的中間件管理需求,實現對虛機PaaS中間件的替換,并通過Kubernetes跨機房實現中間件多機房高可用。再把長期運維和DBA經驗産品化,形成了與傳統中間件平台的差異化能力。然後完成應用單元化架構需要的中間件多活能力支持,幫助業務實現容量的水平擴展,提升業務容災能力。
采用多集群架構雖然極大增加架構複雜性,但是收益也非常明顯。
雲原生中間件研發的核心經驗
高性能方面包括:多種負載均衡模式,代理層、快速擴縮容,本地盤,參數級調優;穩定性方面包括:合理的資源利用率、Operator自愈、可觀測性、穩定性巡檢、混沌測試。
例如,當中間件集群因為各種不可預料的原因宕機時,Operator會快速檢測到集群健康狀況,并且立即進行修複,因此雲原生中間件集群具備極強的自愈能力。
運維穩定性管控産品的底層邏輯
雲原生化中間件平台的優勢在技術供給方式發生變化。穩定性問題不解決,無法體現平台優勢,隻是責任的轉移而已;真正實現複雜度降低的是配套穩定性治理,主要包括穩定性巡檢和異常事件監控及根因分析。運維經驗的沉澱和複用是雲原生的天然優勢,我們希望通過運維穩定性管控産品,一是将我們内部多年的“運維經驗”沉澱到系統,為用戶提供監控、告警的實踐,可能的根因判斷與處理建議等,二是建立“穩定性改進循環”, 不斷進行經驗沉澱和規則疊代。
雲原生中間件在企業落地進展
一些大型國有銀行和頭部股份制銀行早在2019年開始探索并實踐有狀态應用的容器化,目前已有一定線上應用規模,更多的證券、銀行也在2021年開展試點項目。
以某股份制銀行為例,遇到問題有基礎技術能力重複建設,中間件運維效率低,應用系統健康度、接口調用、異常等缺乏自動化的量化和全鍊路能力,實時預警能力需要進一步提升。為此,該行與網易數帆合作建設雲原生基礎技術支撐平台,涵蓋緩存、代理、消息、注冊中心等基礎技術能力服務化,并提供統一的文件服務、全鍊路監控、日志查詢等基礎服務。
其收益是:建設服務化的雲原生中間件平台,避免在基礎技術能力上重複建設、各自維護帶來的人力成本增加、研發效率受限等問題,為所有應用系統建設提供按需使用、靈活伸縮的能力,使得應用系統在建設中僅需關注業務需求的實現,從而大幅提升應用交付效率,提升應用大規模擴展能力。
核心經驗是:一要有能力保持運行穩定,二要适應現有組織和IT流程。
雲原生中間件未來發展趨勢
第一,一切中間件都可以雲原生化,中間件雲原生化的成本要降低。
第二,輕舟中間件研發将跟随雲原生趨勢:
1、多集群架構擴展到多機房/多雲基礎設施。
2、和金融客戶一起做多活,幫助業務實現容量的水平擴展,同時提升容災能力。
3、網格化——目前還沒有特别實際的生産場景,但是它描繪的願景非常美好。
此外,往小說,實現更多可以支撐微服務架構的中間件雲原生化;往大說,希望基于開源開放的技術棧,助力我國實現對核心中間件的國産化。
免責聲明:本文僅代表作者個人觀點,與每日科技網無關。其原創性以及文中陳述文字和内容未經本站證實,對本文以及其中全部或者部分内容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關内容。
本網站有部分内容均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,若因作品内容、知識産權、版權和其他問題,請及時提供相關證明等材料并與我們聯系,本網站将在規定時間内給予删除等相關處理.

