《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 面向云原生全鏈路灰度發(fā)布技術研究與實踐
面向云原生全鏈路灰度發(fā)布技術研究與實踐
2023年電子技術應用第4期
劉軍1,2,李雄清1,2,孫瓊巍1,2,劉利3,李永1,2
(1.中國民航信息網絡股份有限公司,北京 101318;2.民航旅客服務智能化應用技術重點實驗室,北京 101318; 3.歐普杰科技(大連)有限公司,遼寧 大連 116000)
摘要: 為了解決云原生架構下多版本多服務快速迭代相互影響問題,設計了面向云原生的全鏈路灰度發(fā)布技術方案。使用流量染色技術,構建從網關到全體后端業(yè)務服務的隔離環(huán)境,實現支持多版本多服務的灰度發(fā)布。設計靈活、豐富的灰度策略實現灰度發(fā)布的精細化控制。通過網關和被全體后端業(yè)務服務依賴的sidecar模塊實現全鏈路灰度能力。工程實踐表明,該方案可以有效邏輯隔離環(huán)境,提供精細化控制和全鏈路能力,并且有效降低需求發(fā)布影響,提高線上發(fā)布效率。
中圖分類號:TP311.5
文獻標志碼:A
DOI: 10.16157/j.issn.0258-7998.222982
中文引用格式: 劉軍,李雄清,孫瓊巍,等. 面向云原生全鏈路灰度發(fā)布技術研究與實踐[J]. 電子技術應用,2023,49(4):73-77.
英文引用格式: Liu Jun,Li Xiongqing,Sun Qiongwei,et al. Research and practice full-link gray publishing technology for cloud native[J]. Application of Electronic Technique,2023,49(4):73-77.
Research and practice full-link gray publishing technology for cloud native
Liu Jun1,2,Li Xiongqing1,2,Sun Qiongwei1,2,Liu Li3,Li Yong1,2
(1.TravelSky Technology Limited, Beijing 101318, China;2.Key Laboratory of Intelligent Passenger Service of Civil Aviation, Beijing 101318, China;3.OpenJaw Technology (Dalian) Co., Ltd., Dalian 116000, China)
Abstract: In order to solve the problem of rapid iterative interaction between multiple versions and services under the cloud native architecture, a full-link grayscale publishing technology scheme for cloud native is designed. Using traffic dyeing technology, an isolated environment from the gateway to all back-end business services is constructed to achieve grayscale publishing supporting multiple versions and multiple services. Flexible and rich gray scale strategy is designed to realize precise control of gray scale publishing. Full-link grayscale publishing capability is implemented through gateways and sidecar module that are relied upon by all back-end business services. Engineering practice shows that this scheme can effectively isolate the environment logically, provide precise control and full link capability, and effectively reduce the impact of demand release and improve the efficiency of online release.
Key words : cloud native;full-link;grayscale publishing;dyeing technology;precise control

0 引言

隨著以容器、微服務、DevOps為代表的云原生架構的不斷豐富和落地,各大企業(yè)業(yè)務服務云原生架構轉型不斷推進,企業(yè)服務架構和服務之間的依賴關系更加錯綜復雜。云原生架構幫助企業(yè)實現云服務高可用、快速部署等能力,但是面對云原生架構下多版本多服務的快速迭代,傳統(tǒng)灰度發(fā)布方案已經不滿足需求。因此,對云原生架構下的灰度發(fā)布能力也提出了新的挑戰(zhàn)。

傳統(tǒng)灰度發(fā)布方案的實現方式主要是在負載均衡器處實現,如服務端負載均衡服務器Nginx或者客戶端負載均衡器Dubbo,最后通過人工手段控制灰度策略。但是在云原生架構下現有的灰度發(fā)布模式越來越不滿足需求,主要挑戰(zhàn)有如下3點:

(1)云原生架構面臨多版本多服務快速迭代相互影響的挑戰(zhàn)。在云原生架構線上灰度發(fā)布時難以實現需求范圍內的單獨版本、服務驗證,并且不影響其他版本服務。出現問題時難以在多版本多服務間快速準確定位,導致發(fā)布過程中問題排查時間長、影響范圍大,最終導致發(fā)布速度慢。

(2)云原生架構面臨灰度發(fā)布技術精細化控制的挑戰(zhàn),在云原生架構線上灰度發(fā)布時不能像虛擬機或實體機發(fā)布時一樣,可以單獨控制某一臺機器的流量訪問。并且傳統(tǒng)的灰度發(fā)布技術在控制能力、配置靈活度上也不能滿足云原生架構的快速發(fā)布、生效需求。

(3)全鏈路灰度發(fā)布是云原生架構下的另一大挑戰(zhàn),各大企業(yè)在云原生轉型時,將單體服務進行微服務拆分和分層,導致一個業(yè)務需求發(fā)布時需要多服務同時發(fā)布,此時在云原生架構下,傳統(tǒng)灰度發(fā)布方案不支持所有發(fā)布服務的端到端詳細控制。同時通過人工維護負載均衡器上的灰度策略出現問題的概率大、效率低,無法有效支撐云原生架構下業(yè)務服務的快速驗證、發(fā)布。



本文詳細內容請下載:http://theprogrammingfactory.com/resource/share/2000005286




作者信息:

劉軍1,2,李雄清1,2,孫瓊巍1,2,劉利3,李永1,2

(1.中國民航信息網絡股份有限公司,北京 101318;2.民航旅客服務智能化應用技術重點實驗室,北京 101318;
3.歐普杰科技(大連)有限公司,遼寧 大連 116000)


微信圖片_20210517164139.jpg

此內容為AET網站原創(chuàng),未經授權禁止轉載。