中国工商银行软件开发中心专家 徐翥
数字化转型背景下,为全面贯彻落实总体国家安全观,进一步提升全行面向极端灾难场景下的业务连续性保障水平,工商银行从资源复用、技术支撑、常态化演练验证等多方面入手,在充分发挥云计算技术优势和总结建设成果的基础上,对标传统成熟技术能力,快速攻克开放平台灾备体系建设面临的一系列共性难题,成功打造了具有行业代表性的容灾技术解决方案。
一、“分时复用”灾备云建设路径
面对开放平台日渐庞大的设备规模,为避免大量灾备设备日常闲置,工商银行突破金融云平台租户隔离和弹性扩缩等方面的技术瓶颈,研究建立日常资源复用、发生灾难时快速接管的技术体系和管理机制,大幅提升了资源利用效率。
1.建设运行态轻量化资源快速切换能力
在充分发挥云平台弹性优势的基础上,工商银行打破灾备、测试领域固有的资源隔离壁垒,实现开放平台租户间资源的高效动态复用,大幅提升了灾备高可用水平;同时,通过引入自动化工具对测试、灾备环境进行批量启停操作,使虚拟机侧切换速度达到12000台/小时,PaaS容器启动能力达到5000并发数,容器调度时效降低到20秒内。
2.实现管理面和运行面的双隔离
通过打造多租户、虚拟化的私有云平台,工商银行实现灾备体系管理面和运行面的双隔离,即在满足测试和生产相互隔离要求的基础上,支持多租户或者独立平台的管理面隔离,以及多虚拟私有云在运行访问层面的彻底隔离。
3.构建多等级资源复用服务能力
为避免隔离资源池复用切换导致业务节点间互相影响,工商银行基于多层级搭建云服务能力的思路,新建测试生产复用主机组和生产独占主机组,并根据资源类型采用了不同的复用策略。其中,对于KVM虚拟机和基于其部署的PaaS无状态容器,工商银行借助云平台高弹性的技术特点,实现了资源快速复用和切换;对于分布式存储,由于存储资源复用难以满足RTO需求,甚至还可能带来数据安全隐患,因此不进行复用;对于裸金属部署的PaaS有状态容器,因MySQL容器需要与生产环境保持数据同步,且存储数据有安全隔离要求,故未开启灾备测试复用。
4.全面采用自主可控技术路线
基于全技术栈自主可控的建设思路,工商银行灾备云搭载IaaS、PaaS、分布式存储等技术模块,实现了包括监控报警、配置自动化、网络管理、配置管理等在内的多样化能力支撑。工商银行灾备云架构如图1所示。
图1 工商银行灾备云架构
二、面向核心业务场景的灾备技术创新
面向金融级业务场景灾备建设需求,工商银行整合内外部资源攻克一系列技术难题,创新打造了具有行业代表性的容灾技术解决方案。
1.优化数据库架构提升切换时效
通过调整iSQL数据库灾备生产纳管架构,工商银行建立生产和灾备相互独立的DMP机制,实现生产和灾备独立管理、分别纳管,并打造数据库灾备环境一键切换能力,使数据库切换实效显著提升。
2.实现服务平台多环境流量路由能力
依托分布式技术框架,工商银行对ZooKeeper注册中心增加读写分离及请求并发处理机制,使服务注册耗时缩短到原来的1/30,同时优化服务订阅代码,使注册中心交互次数压降90%。此外,通过研究建设分布式服务框架实现统一的流量管控,工商银行依据“标准化版本+动态应急+多层次流控”的原则,实现对流量的园区级、城市级控制,万级容器联机流量调拨时效控制在分钟级。
3.建设跨地域的全局事务协调能力
对标生产环境,工商银行在灾备云环境中建设一整套分布式事务平台,构建了分布事务异地接管协调能力;同时,通过跨园区订阅方式打通生产和灾备环境的事务交互,由事务平台自动决策主事务路由目的地,实现业务系统无感知交互,高效保障了业务在生产及灾备环境来回流转场景下的账务一致性。
4.提升灾备文件系统数据异地接管能力
为提升分布式文件系统灾备能力,工商银行引入文件共享存储机制来支持数据跨地域同步,并结合客户端双写、最小化数据量、压缩传输体积等技术,提升了分布式文件系统同城双活及异地灾备能力,成功将异地数据同步耗时压缩到分钟级,有力支撑了业务系统24小时常态化接管。
5.实现标准化分布式批量异地切换
为提升分布式批量的异地调度能力,工商银行建设灾备独立批量分组和一键切换调度机制,攻克演练及非演练应用间批量调度依赖的痛点问题,采用标准化切换流程,实现了调度节点、传输节点、存储节点同步切换。
三、灾备环境有效性验证实践
为确保主机下移后应用的安全稳定运行,工商银行制定带压、带载二阶段演练工作机制,全面验证开放平台核心业务系统容灾能力,高效保障了切换时效和应急水平。
1.带压演练
为全面验证灾备环境的承载能力,工商银行以字节码增强的方式接入流量录制回放平台,通过对生产真实流量进行拦截,使用了流量脱敏回传的方式将入口流量回传至灾备云实施回放(如图2所示)。在此过程中,录放平台支持按容器维度进行流量采集,在录制时可选取少部分容器(如灰度容器)或者部分园区,以及在回放时可根据录制比例采用倍速进行回放,并模拟实际交易量验证交易全链路中各个分布式应用在灾备云环境中的性能和功能情况,在满足低侵入、快速应急、流量隔离、权限管控、数据合规等运维要求的同时,高效保障了验证效果。截至目前,生产灾备流量录放应用已推广至30个开放平台,有效验证了开放平台异地灾备的环境承载能力,其中,个人结算、信用卡、对公结算三个业务板块成功通过链路级演练,为真实业务接管演练提供了重要的参考依据。
图2 生产灾备流量录放流程
2.带载演练
为验证灾备环境的真实业务接管能力,工商银行按照群组级、应用级、板块级、单元级等多种容灾场景,启用灾备应用和数据库接入生产实时流量,实践检验了应用在灾备环境下的真实业务接管能力。目前,带载演练已覆盖个人结算、信用卡、客户信息等10个重点应用,不仅演练期间的数据一致性得到了有效保障,且未产生任何账务问题,充分验证了生产和灾备环境之间的双向切换流程(如图3所示)及灾备环境的实际业务接管能力。
图3 生产和灾备环境之间的双向切换流程
展望未来,工商银行将在深入贯彻落实科技自立自强决策部署的基础上,着力提升极端灾难场景下的业务连续性保障能力,并进一步完善自主可控的开放平台异地灾备体系建设,以使其能更好适配金融业务场景,进而为金融同业提供有价值的参考和借鉴。
|