文献标志码: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.
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)