ImageVerifierCode 换一换
格式:PDF , 页数:5 ,大小:1.83MB ,
资源ID:2569670      下载积分:10 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wnwk.com/docdown/2569670.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向云原生全链路灰度发布技术研究与实践_刘军.pdf)为本站会员(哎呦****中)主动上传,蜗牛文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知蜗牛文库(发送邮件至admin@wnwk.com或直接QQ联系客服),我们立即给予删除!

面向云原生全链路灰度发布技术研究与实践_刘军.pdf

1、电子技术应用 2023年 第49卷 第4期Computer Technology and Its Applications计算机技术与应用面向云原生全链路灰度发布技术研究与实践*刘军1,2,李雄清1,2,孙琼巍1,2,刘利3,李永1,2(1.中国民航信息网络股份有限公司,北京 101318;2.民航旅客服务智能化应用技术重点实验室,北京 101318;3.欧普杰科技(大连)有限公司,辽宁 大连 116000)摘 要:为了解决云原生架构下多版本多服务快速迭代相互影响问题,设计了面向云原生的全链路灰度发布技术方案。使用流量染色技术,构建从网关到全体后端业务服务的隔离环境,实现支持多版本多服务的灰度

2、发布。设计灵活、丰富的灰度策略实现灰度发布的精细化控制。通过网关和被全体后端业务服务依赖的 sidecar 模块实现全链路灰度能力。工程实践表明,该方案可以有效逻辑隔离环境,提供精细化控制和全链路能力,并且有效降低需求发布影响,提高线上发布效率。关键词:云原生;全链路;灰度发布;染色技术;精细化控制中图分类号:TP311.5 文献标志码:A DOI:10.16157/j.issn.0258-7998.222982中文引用格式:刘军,李雄清,孙琼巍,等.面向云原生全链路灰度发布技术研究与实践J.电子技术应用,2023,49(4):73-77.英 文 引 用 格 式:Liu Jun,Li Xion

3、gqing,Sun Qiongwei,et al.Research and practice full-link gray publishing technology for cloud nativeJ.Application of Electronic Technique,2023,49(4):73-77.Research and practice full-link gray publishing technology for cloud nativeLiu Jun1,2,Li Xiongqing1,2,Sun Qiongwei1,2,Liu Li3,Li Yong1,2(1.Travel

4、Sky 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 u

5、nder 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 an

6、d 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 tha

7、t 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 control0 引

8、言随着以容器、微服务、DevOps 为代表的云原生架构的不断丰富和落地,各大企业业务服务云原生架构转型不断推进,企业服务架构和服务之间的依赖关系更加错综复杂1。云原生架构帮助企业实现云服务高可用、快速部署等能力,但是面对云原生架构下多版本多服务的快速迭代,传统灰度发布方案已经不满足需求2。因此,对云原生架构下的灰度发布能力也提出了新的挑战。传统灰度发布方案的实现方式主要是在负载均衡器处实现,如服务端负载均衡服务器 Nginx 或者客户端负载均衡器 Dubbo,最后通过人工手段控制灰度策略3。但是在云原生架构下现有的灰度发布模式越来越不满足需求,主要挑战有如下 3 点:(1)云原生架构面临多版本

9、多服务快速迭代相互影响的挑战。在云原生架构线上灰度发布时难以实现需求范围内的单独版本、服务验证,并且不影响其他版本服务4。出现问题时难以在多版本多服务间快速准确定位,导致发布过程中问题排查时间长、影响范围大,最终导致发布速度慢5。*基金项目:国家自然科学基金(U2033203)73Computer Technology and Its Applications计算机技术与应用www.ChinaAET.com(2)云原生架构面临灰度发布技术精细化控制的挑战,在云原生架构线上灰度发布时不能像虚拟机或实体机 发 布 时 一 样,可 以 单 独 控 制 某 一 台 机 器 的 流 量 访问6。并且传统

10、的灰度发布技术在控制能力、配置灵活度上也不能满足云原生架构的快速发布、生效需求7。(3)全链路灰度发布是云原生架构下的另一大挑战,各大企业在云原生转型时,将单体服务进行微服务拆分和分层,导致一个业务需求发布时需要多服务同时发布,此时在云原生架构下,传统灰度发布方案不支持所有发布服务的端到端详细控制8。同时通过人工维护负载均衡器上的灰度策略出现问题的概率大、效率低,无 法 有 效 支 撑 云 原 生 架 构 下 业 务 服 务 的 快 速 验 证、发布。1 设计与实现1.1 总体解决方案为了解决云原生架构下灰度发布面临的挑战,提出一种端到端的、灵活的全链路灰度发布技术解决方案,通过流量染色技术解

11、决环境逻辑隔离,增强灰度发布控制维度和生效策略实现精细化控制,并覆盖从网关到所有后端业务服务实例。使用云原生流量染色技术解决多版本多服务快速迭代相互影响问题。云原生流量染色技术是指对请求流量染色,并对服务实例按照版本进行染色,同时支持多种染色流量同时存在,但是在逻辑上完全隔离9。即染色的流量只能在相同染色的服务实例间流转,未染色的流量只能在未染色的服务实例间流转。在流量入口网关进行染色,使流量在进入业务前就完成染色,然后每个业务服务实例根据配置中心灰度策略进行染色,最后染色流量就可以通过 sidecar 模块在固定的业务服务集群内流转,完成可控范围内的需求快速验证、迭代。新设计灰度发布策略并维

12、护在配置中心,如表 1 所示,在控制维度上包含流量权重、用户特征、硬件特征和流量特征,并新增了接口特征,并且在其他维度的控制能力上进行了进一步扩展,提升精细化控制能力。并且灰度发布策略是可热配置的,配置成功后发布给业务服务实例实时生效。灰度发布策略可以按需随时变更且不影响业务服务。全链路灰度发布是指从流量起始位置到该流量需要经过的所有业务服务实例,都会被灰度发布技术控制和覆盖到10。利用注册中心将所有服务实例整体串联和管理起来,然后在网关使用流量染色技术按照灰度发布策略对请求流量染色,并使该请求流量在业务服务实例间跨服务转发时遵循同样的灰度发布策略11。全链路灰度发布技术方案如图 1 所示,在

13、配置中心服务中设置了灰度策略 green 和灰度策略 red,其中灰度策略 green 表示如果请求流量的用户特征是张三,这个请求流量只能访问业务服务 A 和业务服务 B 的 V2 版本,sidecar 模块会自动帮助业务服务 A 执行对应灰度计划,灰度策略 red 表示如果流量满足流量权重百分比,这个请求流量只能访问业务服务 A 和业务服务 B 的 V1 版本,灰度策略 red 和灰度策略 green 不互斥,可以同时按照配置顺序生效。没有匹配灰度策略的请求流量可以正常访问灰度策略以外的服务实例,即业务服务 A 和业务服务 B 的 V0 版本。1.2 总体设计基于上述自主设计的端到端的灵活的

14、全链路灰度表 1灰度发布技术精细化控制能力对比控制维度流量权重用户特征硬件特征流量特征接口特征传统灰度发布在代理服务器按照流量百分比分配支持用户指定信息如(cookie)进行灰度发布支持精确配置 IP 地址,如 x.x.x.x;支持模糊 IP 地址,如 x.x.x.*;支持网段限制,如 x.x.x.0/24支持在流量固定位置的固定流量特征进行灰度不支持面向云原生的全链路灰度发布在网关按照流量百分比分配,并可以配合用户特征、硬件特征、流量特征和接口特征同时进行精细化控制根据业务需求的不同,灵活地设定用户特征,如 cookie、token、userId 等支持精确配置 IP 地址,如 x.x.x.

15、x;支持模糊 IP 地址,如 x.x.x.*;支持网段限制,如 x.x.x.0/24;支持硬件设备信息,如设备 ID 等灵活、精准地根据流量已有特征(如 header、param)参数设置灰度策略,可以按需使用流量特征,无限制灵活、精准地根据接口 URL 设定灰度策略图 1总体解决方案74Computer Technology and Its Applications计算机技术与应用电子技术应用 2023年 第49卷 第4期发布技术解决方案,其实现模块主要包含配置中心、注册中心、流量入口网关和 sidecar 模块。总体设计架构如图 2 所示。其中,配置中心主要用于维护灰度发布策略,方便使用人

16、员根据需求动态维护灰度策略。灰度策略支持配置流量权重、用户特征、硬件特征、流量特征和接口特征 5 种维度12。同时灰度策略变更会被云环境下的所有业务服务监听,包括网关服务。最后所有业务服务动态拉取最新灰度策略到服务本地缓存后直接生效。注册中心主要用于完成服务注册和管理13。当有新服务实例注册到注册中心时,注册中心会维护实例信息,包括该实例的服务版本 V1 或 V2、服务名 A 或 B 等。同时因为云原生架构下的服务都会监听注册中心上的实例以及实例信息变更,所以运行中的服务都会实时从注册中心获取到服务实例的变化。网关服务是四层代理服务,设计主要目的是完成入口请求流量按照灰度发布计划进行染色和路由转发14。网关服务是全链路灰度发布技术的流量起点。网关服务启动后会动态地从配置中心获取灰度策略。此时如果用户发起流量请求到网关,网关会按照灰度发布计划执行策略要求,使用流量匹配灰度策略,如用户特征、硬件特征等。如果当前流量成功匹配到某一条灰度策略,则会将当前流量染色。最后将染色流量请求转发给下游匹配灰度策略的业务服务实例15。被业务系统直接依赖的 sidecar 模块是全链路灰度发布技术的主要模块

copyright@ 2008-2023 wnwk.com网站版权所有

经营许可证编号:浙ICP备2024059924号-2