IT系统灰度发布方案v02_第1页
IT系统灰度发布方案v02_第2页
IT系统灰度发布方案v02_第3页
IT系统灰度发布方案v02_第4页
IT系统灰度发布方案v02_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数字家庭灰度发布方案1现有架构说明机顶盒适配器Adapter光猫适配器Adapter业务插件适配器Adapter智能组网适配器Adapter2方案对比蓝绿发布定议蓝绿部署是不停老版本集群环境,在新的集群环境中部署新版本,然后进行充分业务测试。确认业务正常后将正式业务切到新版本集群环境中,然后老版本集群保持旧版本,如此循环,实现快速回退。特点蓝绿部署无需停机,并且风险较小,但蓝绿部署对框架隔离有较高要求,如Docker容器,Dubbo框架等,不建议将新老版本部署在一个容器中。服务器及数据库资源要求1比1复制,对资源消耗较大。部署过程当有新版本发布时,将新版本部署在新集群中,前端通过服务代理及代理控制(通过专门的配置管理界面,修改代理中间件的配置策略,实现注流量分摊),实现部分用户使用新集群业务逻辑,完成新功能、Bug修复等功能的测试。测试不正常,可将代理策略还原,继续修订问题。修订完成后重复测试过程。测试正常,将所有业务切换到新的集群中,正式使用新的集群承载业务。新集群成为正式版本集群,旧集群成为灰度集群。小、结从过程不难发现,在部署的过程中,我们的应用始终在线。并且新版本上线的过程中,并没有修改老版本的任何内容,在部署期间,老版本的状态不受影响,这样风险很小。并且只要老版本的资源不被删除,理论上,我们可以在任何时间回滚到老版本。但投入资源及配套网络配置成1:1投入。耗费资源较大。蓝绿发布的注意事项当切换到蓝色环境时(新功能所在环境),需要妥当处理未完成的业务和新的业务。如果数据库后端无法处理,会是一个比较麻烦的问题。•数据同步机制:因蓝、绿环境所涉及数据库都为并行两套,同时蓝色环境还有可能存在数据结构的变化,在发布蓝色系统时,需要全面考虑如何与绿色环境进行数据实时同步的问题,才能满足不影响业务以及快速还原的要求。•配套设施投入大:蓝绿部署需要有基础设施支持,且蓝、绿环境所需设施需1:1投入。优势和不足•优势:升级切换和回退速度非常快。•不足:1)切换全量切换,如果新版本有问题,则对用户体验有直接影响,但可快速还原到旧版本;2)需要两倍机器资源。3)对数据库同步要求高。灰度(金丝雀)发布定议金丝雀发布是将现在所有应用集群中,每一个集群节点分出1到2台服务器资源单独划分出来,作为金丝雀发布节点,在发布新功能时,先将服务器停止服务,执行更新,并重新将其投入使用,通过策略控制部分业务通过新节点承载。经过一段时间测试后,将集群中所有的实例都更新成新版本。特点金丝雀发布是在现有集群节点中增加部分服务器资源,不需要i:i复制集群,节约资源投入,部分用户测试正常后,将其它集群节点更新为新版本。部署过程金丝雀发布一般在每个集群节点上先选1台服务器作为新版本发布服务器,主要做新版本新功能的测试。发布新版本时,先断开发布节点上的业务流量,将老版本从发布节点上摘除,然后清除老版本,发布新版本V2,再将试点业务流量接入到新版本。这样可以尽量保证用户体验不受影响。经过一段时间测试后(包括增加测试业务和接入范围),如无问题,则一次性将剩余各集群节点全部更新为新版本。回退是发布的逆过程,将新版本业务流量从滚动发布节点上摘除,清除新版本,在集群节点上还原版本,再将集群发布节点上的业务流量接入老版本。小、结部署过程中,业务始终在线,使用人员感知不受影响。并且新版本上线的过程中,并没有修改老版本的任何内容,在部署期间,老版本的状态不受影响,这样风险很小。发过过程相当于分2批次发布,第一批次为试点测试,第二批次为全量。服务器资源投入较小。金丝雀发布的注意事项当业务切换到金丝雀环境时,需要妥当处理未完成的业务和新的业务。如果数据库后端无法处理,会是一个比较麻烦的问题。•数据同步机制:金丝雀所涉及数据库采用同一套库,如果新版本功能存在数据结构的变化,在发布新系统时,采用新的表模型进行存储,需要全面考虑如何与旧版本环境数据模型实时同步的问题,才能满足不影响业务以及快速还原的要求。•业务接入范围控制:整个系统涉及多个节点的集群,每个集群节点都需要实现试点控制策略,并能够将策略配置到代理节点和业务逻辑中,才能满足试点发布对部分用户或范围的控制。优势和不足•优势:升级切换和回退速度非常快;资源投入较小。•不足:对各个集群节点中的控制策略要求非常高,对两套数据同步的逻辑处理要求非常高。灰度(滚动)发布定议滚动式灰度发布是将现在所有应用集群中,每一个集群节点分出1到2台服务器资源,从集群节点中单独划分出来,作为滚动发布节点,在发布新功能时,先将服务器停止服务,执行更新,并重新将其投入使用,通过策略控制部分业务通过新节点承载。周而复始,直到集群中所有的实例都更新成新版本。特点这种部署方式相对于蓝绿部署,更加节约资源,滚动发布不需要运行两个集群、两倍的实例数。我们可以部分部署,例如每次只取出集群的1到2台进行升级。部署过程滚动式发布一般先选1台或几台服务器,主要做新版本新功能的测试。每次发布时,先将老版本从发布节点上摘除,然后清除老版本,发布新版本V2,再将业务流量接入到新版本。这样可以尽量保证用户体验不受影响。一次滚动式发布一般由若干个发布批次组成,每批的数量一般是可以配置的(可以通过发布模板定义)。例如第一批1台(金丝雀),第二批10%,第三批50%,第四批100%。每个批次之间留观察间隔,通过手工验证或监控反馈确保没有问题再发下一批次,所以总体上滚动式发布过程是比较缓慢的。回退是发布的逆过程,将新版本业务流量从滚动发布节点上摘除,清除新版本,在滚动节点上还原版本,再将滚动发布节点上的业务流量接入老版本。和发布过程一样,回退过程一般也比较慢的。小、结新版本上线,不会修改老版本的配置,客户使用感知非常平滑;服务器资源投入较小;因滚动发布每批次发布数量较小,分多批次发布,发布周期和回退周期持续较长。滚动发布的注意事项•数据同步机制:滚动发布数据模型处理采用金丝雀相同原理进行处理,涉及到结构变化,采用新增模型存储,考虑与原表模型实时同步机制。•业务接入范围控制:整个系统涉及多个节点的集群,每个集群节点都需要实现试点控制策略,并能够将策略配置到代理节点和业务逻辑中;同时还需要考虑滚动发布不同批次对应节点需精准配置。优势和不足•优势:升级测试较充分。•不足:1)升级及回退周期长;2)对升级批次的配置、数据库同步要求高。功能开关发布定议功能开关发布,是在每一个业务处理节点集群中,增加控制开关,每次有新功能升级时,通过程序代码实现2套业务处理逻辑,由开关控制是否启用新功能,由访问策略控制哪些用户使用新功能。特点功能开关发布,无需增加集群节点服务器资源,但对架构改动较大,所有处理节点都需要增加开关,增加业务处理逻辑。增加平台处理复杂度及开发难度。部署过程当有新版本发布时,直接部署现有集群节点,同时开关默认为关闭状态,根据试点范围选择好策略后,打开试点开关进行测试。测试不正常,关闭开关,继续修订问题。修订完成后重复测试过程。测试正常,将新功能配置成默认状态(即开关为关闭时,使用新版功能)。小、结功能开关发布模式,无需单独增加集群节点,但需要增加每个业务处理节点的开关控制,有的场景可能需要嵌入流程进行开关控制;当正式版本全量发布后,回退较困难。功能开关发布的注意事项数据同步机制:功能开关发布,涉及数据结构发生变化,需要新增一套存储模型,需要充分考虑原数据模型的实时同步机制。优势和不足・优势:升级切换和回退速度非常快,相对于复杂的发布工具,实施比较简单,成本相对低廉。•不足:因有设备主动上报的交互逻辑,有定期任务下发指令逻辑,还有上层业务工单操作逻辑,涉及系统所有处理节点集群都需要增加开关控制机制以及试点范围配置逻辑处理,代码逻辑会变得较复杂,维护成本变高。2.5方案选型结合四种发布方案的对比,考虑到资源投入成本以及处理逻辑的复杂性和维护成本因素,优选方案为灰度(金丝雀)发布方案;因数字家庭涉及工单业务流程、底层设备工作任务流操作,设备远程管控,设备底层数据上报等场景,且工单的分区域操作,同样涉及设备远程操作,底层设备上报管控,功能开关方案均要涉及整个系统所有流程环节的控制,不建议采用功能开关发布方案。3灰度架构说明金丝雀架构说明通过在现在各处理节点的各个集群中,单独增加金丝雀发布服务器节点,实现金丝雀灰度发布。试点种类建议:因数字家庭不但涉及装维使用人员、北向接口调用,同时还涉及到底层设备的变化而导致的升级或新功能发布,试点种类建议分区域维度(可选择市、区县级别)、用户维度(可选择具体操作用户)、设备维度(可以选择具体设备,也可以选择不同厂家不同型号的设备)。ui集群节点:增加1台灰度发布节点,同时在ui界面中提供各操作用户试点范围选择、工作流任务试点范围选择、南向设备数据上报试点范围选择以及相关配置参数下发到各集群控制、代理等节点的管理功能。北向接口集群节点(NorInterface):增加1台灰度发布节点,根据UI中配置的试点区域,识别北向工单接口、设备操作接口、远程诊断接口中归属的区域信息进行匹配,实现满足试点范围的请求自动转发到灰度服务器上。前期所有涉及北向交互接口都需要增加所属地市、所属区县、详细地址信息。且后期新增接口中,相关归属信息为必选项。设备操作管理集群节点(OAM):增加1台灰度发布节点,根据UI中配置的试点区域自动匹配试点范围选择、同时在与UI、北向接口及工单处理节点交互过程中,增加归属区域信息传递,用以匹配试点范围。工单处理集群节点(NBIServer):增加1台灰度发布节点,根据UI中配置的试点区域自动匹配试点范围选择、同时在与UI、北向接口及工单处理节点交互过程中,增加归属区域信息传递,用以匹配试点范围。资源处理集群节点(InventoryServer):增加1台灰度发布节点,根据UI中配置的试点区域自动匹配试点范围选择、同时在与UI、北向接口及工单处理节点交互过程中,增加归属区域信息传递,用以匹配试点范围。Redis集群节点:不增加独立灰度集群节点,如果涉及数据模型结构变化,采用新增模型,与旧模型实现实时同步;例如果南向存量数据类型或结构(比如2019年9月份,九州机顶盒设备4.0.6版本不能纳管问题)发生变化需要调整数据格式的场景,可以通过新增模型进行灰度发布,试点完成后在切换时同步修改旧的数据模型结构。Cache缓存集群节点:与Redis原理相同。处理中心集群节点(ACSServer):增加1台灰度发布节点,北向工单下发的操作,根据所属区域或指定用户进行试点引流;南向设备上报的数据,存量可以根据匹配到的区域属性进行分流试点,新增的设备根据IP规划配置情况获取所属区域信息。再根据所属区域进行灰度试点引流。设备适配层集群节点(ACSAdapter):针对机顶盒集群、光猫集群、业务插件集群、智能家庭组网集群各增加1台灰度发布节点,北向工单下发的操作,根据所属区域或指定用户进行试点引流。其中:机顶盒设备适配,正在进行域名模式改造,需增加DNS服务,同时需要UI配置试点范围时,同步向DNS服务下发策略,实现指定范围段的设备流向灰度服务器;光猫设备适配,已实现域名模式,需要UI配置试点范围时,同步向DNS服务下发策略,实现指定范围段的设备流向灰度服务器;业务插件适配,通过nginx进行负载,需要UI配置试点范围时,同步向nginx服务下发策略,实现指定范围段的设备流向灰度服务器。智能组网设备适配,需增加DNS服务,同时需要UI配置试点范围时,同步向DNS服务下发策略,实现指定范围段的设备流向灰度服务器。数据库集群节点(DB):不单独增加数据库集群,涉及新增模型或改变模型的场景,采用在原有集群中新增表实现,增加新表与旧表的数制实时同步机制。下图是采用金丝雀式灰度发布的总体示意说明。10

增加策略控制:光猫上报数据管理,在DNS控制策略中根想P段规划调控制试点范围增加口心及策略控制:机顶盒上报数据管理,通过增力QNS服务,在DNS控制策略中根搞增加策略控制:光猫上报数据管理,在DNS控制策略中根想P段规划调控制试点范围增加口心及策略控制:机顶盒上报数据管理,通过增力QNS服务,在DNS控制策略中根搞P段规划调控制试点范围增加。91燔略控制:插件管理,通过ngix代现控制根拇P段规划控制增加口心及策略控制:通过增加DNS服务,在DNS控制策略中根据》段规划调控制试点范围核心交换功能开关发布说明采用功能开关发布,可以分类进行处理:•UI展示类:可以将新功能单独建立菜单,并指导使用人员进行测试;•

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论