基于云化架构金融服务系统业务不间断升级改造实践
2023-08-14张超刘学军王国环王全江
张超 刘学军 王国环 王全江
一 引言
近年来,随着互联网技术的飞速迭代和数字化转型的推进,数字化系统作为企业业务发展的基础设施之一,各企业纷纷拥抱新技术对老旧系统进行改造升级,强化对系统的自主掌控能力,与此同时,由于早期的技术方案以单点烟囱式为主,系统繁多,给老旧系统的升级改造带来了较大的挑战,在数字化系统的升级和改造中,通常需要系统停机、数据备份、系统迁移等操作,这些操作会带来数据丢失、业务异常、账务差错、系统回退等问题,这些问题对于金融类服务系统尤其敏感。为了解决这些问题,业务不间断架构升级改造方案应运而生。该方案可以在客户无感知的情况下进行架构升级和改造,保证业务的连续性和数据的完整性。
中国联通财务公司承接集团委托,将金融业务能力与科技研发能力有机结合,在财务公司行业率先以云原生技术、微服务架构体系,打造了富有联通特色的“司库系统及金融服务平台”。
平台建设初期,考虑到云原生底座的成熟度和网络安全防护能力,为全面保障系统安全,在设计思路上,采用了“金融与非金融服务隔离”的原则,虽然在最大程度上保障了系统安全,但是其代价是牺牲了部分资源的利用率,在部署架构上,分为若干个自治集群,每个集群各自治理集群内的资源。随着云原生底座自身能力的迭代提升,原来为保障安全而分为多个集群的部署架构在新的技术模式下,逐步暴露出资源调度灵活性不足,服务器资源使用效率降低的缺点。与此同时,在旧的架构下,每次迭代升级均面临着系统之间交互复杂、每次均需停机维护、业务中断、升级过程中经常回退的痛点.为进一步提高部署效率,盘活资源使用效率,提高客户满意度,研发团队经过审慎调研、周密计划,制定了详细的融合割接方案,实现了业务不间断前提下的多集群合并的架构升级。
二 业务不间断部署架构升级改造方案
(一)方案介绍
基于服务质量、数据同步、系统安全考虑,研发团队制定出如下两个备选方案:
1.增量式架构升级
即将架构升级分为多个步骤进行,每一步骤只合并两个集群,测试通过后再进行下一步骤,以此类推。这样可以降低整个架构升级的风险,避免由于一次性修改过多功能导致系统崩溃等问题。
2.基于蓝绿部署的架构升级
在架构升级前,划分为蓝绿两个区域,并在蓝绿区前置负载均衡器,用于控制流量切换,其中,绿区为完全空白服务器,部署统一的云原生管理底座,后逐步将蓝区内应用迁移至绿区,经过充分测试后,通过负载均衡器逐步往绿区切入流量,直至全部切换完成。
(二)方案对比
1.增量式架构升级
增量式架构升级是指将当前集群进行编号A\B\ C\D,集群前置负载均衡器,首先完成A和B集群的合并,即将B集群的应用部署至A集群,通过负载均衡器逐步将B集群的流量切换至A集群,切换完毕后B集群服务器拆除,资源并入A集群,以此类推,将C和D集群逐步合并至A集群。
本方案优点如下:
(1)分步合并降低了架构升级的整体风险,发生问题后,影响范围可控,回退方案简单。
(2)将整个架构升级分为多个阶段进行,每个阶段只修改一小部分的功能。在每个阶段结束后,需要进行测试和验证,确保该部分功能的稳定性和正确性。
本方案缺点如下:
(1)时间周期长:每次合并均需制定详细的升级方案,步骤繁琐,而且需要经过一定周期的测试和验证,最终完成的时间周期长。
(2)内部调用改造方案复杂:前端负载均衡器虽然能够分发流量,但是主要分发的是外部访问的流量,与此同时,在微服务架构下,服务与服务之间存在大量的频繁相互调用,属于内部交互范畴,在集群合并并行过程中,存在同一个服务部署在不同集群内的情况,对于调用方,调用哪个服务需要预先提前指定,客观上增加了集群合并的方案复杂度。
2.基于蓝绿部署的架构升级
基于蓝绿部署的架构升级方案需要划分两个区,一个区为当前正在运行的蓝区,另一个区为升级后的绿区,其中绿区为完全空白服务器,基于统一的云原生底座,将蓝区所有的应用一次性部署至绿区,从应用维度蓝绿区保持完全一致,实现蓝绿区双活,同时发挥前端负载均衡器的作用,将用户访问流量按照访问来源IP或访问目标IP等策略逐步分流至绿区,直至完全切换。
本方案优点如下:
(1)通过蓝绿区的方式,避免了分步合并,实施周期短。
(2)由于采用的是蓝绿区双活的方式,可以按照不同的分流策略灵活分流,引流过程中可以随时在客户无感知状态下灵活回退至蓝区。
(3)规避了微服务内调用的复杂度,蓝区和绿区只在本区内调用。
(4)采用应用与数据分离方案,规避了数据同步的复杂度。
本方案缺点如下:
由于绿区为全新服务器,需要在当前部署架构内,将各集群内冗余服务器资源逐步拆除后部署至绿区,绿区自身服务器资源在应对业务高峰期存在困难。
(三)部署架构方案选择
通過对比增量式架构升级方案和基于蓝绿区部署架构升级方案,最终研发团队选择基于蓝绿区部署架构升级的方案。
具体操作步骤为:划定蓝区,即原有生产环境资源所有应用服务构成的区域;划定绿区,使用新服务器设备搭建一套全新的运行环境,部署新的k8s集群,部署一套完整的司库系统及金融服务平台服务构成绿区;在绿区部署完应用后,先在测试环境进行全面验证,验证通过后再部署到生产环境;然后在蓝区部署用户流量切换网关,蓝区和绿区并行运行,通过流量切换网关控制用户流量精准控制,部分目标用户访问流量切换到绿区,观察绿区业务运行情况,有问题随时将流量切回蓝区;实施过程中数据库、平台中间件及容器云平台保持一套,不涉及数据库数据移植;为实现蓝绿区并行处理,文件存储区需进行蓝绿区域共享,将业务文件从原蓝区存储转移到蓝绿共享区。
三 业务不间断部署架构升级改造实践
(一)实践步骤
第一步制定升级计划,整个实施工作分为四个里程碑阶段:部署验证期,生产环境部署期,新老环境并行期,新环境独立运行期;第二步数据备份,实施前进行数据备份,确保业务的连续性和数据的完整性;第三步测试验证,在完成升级改造后,进行测试验证,确保升级改造后系统的稳定性和高效性;第四步收尾,待业务全部切换到绿区后,将蓝区的服务器逐步摘离并逐步加入到绿区,同时关闭之前为架构升级开通的网络策略。
(二)实践结果
通过实施后的生产运行实践,业务不间断部署架构升级改造方案取得了良好的效果。具体结果如下:
第一,实现了应用的100%容器化云化部署,降低了运维复杂程度,减少生产环境部署类型,简化了运维流程,降低了运维难度;实现统一运维,容器化部署使得各类应用可以在同一平台进行部署与管理,实现了统一的运维管理,提升了运维管理效率;。
第二,提高资源使用效率,通过容器云平台实现对计算资源及存储资源的统一管理,优化资源取用粒度,提高资源使用效率。通过架构升级,节省物理资源1/3以上。
四 结束语
本文介绍了业务不间断部署架构升级改造方案,针对现有系统升级改造过程中可能出现的业务中断和数据丢失等问题,提出了基于蓝绿部署的升级改造方案。通过实践,该方案取得了良好的效果,确保了业务的连续性和数据的完整性,同时,该方案还可以作为后续灰度发布的基础架构,进一步提高运维效率。
在实际业务中,业务不间断部署架构升级改造方案具有重要意义,可以有效提升系统的稳定性和高效性,满足业务需求,提升用户体验,为企业发展提供有力支持。