《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 面向云原生全链路灰度发布技术研究与实践
面向云原生全链路灰度发布技术研究与实践
2023年电子技术应用第4期
刘军1,2,李雄清1,2,孙琼巍1,2,刘利3,李永1,2
(1.中国民航信息网络股份有限公司,北京 101318;2.民航旅客服务智能化应用技术重点实验室,北京 101318; 3.欧普杰科技(大连)有限公司,辽宁 大连 116000)
摘要: 为了解决云原生架构下多版本多服务快速迭代相互影响问题,设计了面向云原生的全链路灰度发布技术方案。使用流量染色技术,构建从网关到全体后端业务服务的隔离环境,实现支持多版本多服务的灰度发布。设计灵活、丰富的灰度策略实现灰度发布的精细化控制。通过网关和被全体后端业务服务依赖的sidecar模块实现全链路灰度能力。工程实践表明,该方案可以有效逻辑隔离环境,提供精细化控制和全链路能力,并且有效降低需求发布影响,提高线上发布效率。
中图分类号:TP311.5
文献标志码:A
DOI: 10.16157/j.issn.0258-7998.222982
中文引用格式: 刘军,李雄清,孙琼巍,等. 面向云原生全链路灰度发布技术研究与实践[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为代表的云原生架构的不断丰富和落地,各大企业业务服务云原生架构转型不断推进,企业服务架构和服务之间的依赖关系更加错综复杂。云原生架构帮助企业实现云服务高可用、快速部署等能力,但是面对云原生架构下多版本多服务的快速迭代,传统灰度发布方案已经不满足需求。因此,对云原生架构下的灰度发布能力也提出了新的挑战。

传统灰度发布方案的实现方式主要是在负载均衡器处实现,如服务端负载均衡服务器Nginx或者客户端负载均衡器Dubbo,最后通过人工手段控制灰度策略。但是在云原生架构下现有的灰度发布模式越来越不满足需求,主要挑战有如下3点:

(1)云原生架构面临多版本多服务快速迭代相互影响的挑战。在云原生架构线上灰度发布时难以实现需求范围内的单独版本、服务验证,并且不影响其他版本服务。出现问题时难以在多版本多服务间快速准确定位,导致发布过程中问题排查时间长、影响范围大,最终导致发布速度慢。

(2)云原生架构面临灰度发布技术精细化控制的挑战,在云原生架构线上灰度发布时不能像虚拟机或实体机发布时一样,可以单独控制某一台机器的流量访问。并且传统的灰度发布技术在控制能力、配置灵活度上也不能满足云原生架构的快速发布、生效需求。

(3)全链路灰度发布是云原生架构下的另一大挑战,各大企业在云原生转型时,将单体服务进行微服务拆分和分层,导致一个业务需求发布时需要多服务同时发布,此时在云原生架构下,传统灰度发布方案不支持所有发布服务的端到端详细控制。同时通过人工维护负载均衡器上的灰度策略出现问题的概率大、效率低,无法有效支撑云原生架构下业务服务的快速验证、发布。



本文详细内容请下载:https://www.chinaaet.com/resource/share/2000005286




作者信息:

刘军1,2,李雄清1,2,孙琼巍1,2,刘利3,李永1,2

(1.中国民航信息网络股份有限公司,北京 101318;2.民航旅客服务智能化应用技术重点实验室,北京 101318;
3.欧普杰科技(大连)有限公司,辽宁 大连 116000)


微信图片_20210517164139.jpg

此内容为AET网站原创,未经授权禁止转载。