银行分布式开放平台的监控及应急体系建设实践

何丽君 2024-04-22 10:58:15
人民银行《金融科技发展规划(2022-2025年)》中提出要“持续推动金融创新,助力金融业数字化转型”。为贯彻落实人民银行数字化转型的要求,中国工商银行(以下简称“工行”)作为账户体量最大的商业银行,积极开展了从传统集中式架构向自主可控分布式开放平台架构的转型,实现金融科技供给能力和创新效能的有效提升。

 

为实现平稳转型,工行采取“分布式开放平台组合服务入口建设->渠道/产品应用改造->渠道/产品应用切换->平台组件功能建设->双机并行(以原系统为准)->双机并行(以平台为准)”六步工程实施工艺,顺利完成了大部分应用向分布式开放平台的转型。

 

在转型过程中,为确保业务处理的连续性和系统稳定性工行通过监控应急体系的建设,有力保障了工程的平稳推进。以下为具体内容: 

 

一、智能监控助力转型过程及时发现问题

 

分布式系统具有扩展能力强的特点,可满足高并发、大流量需求。但由于分布式系统节点数量多,与集中式系统相比维护相对困难,且分布式场景下业务调用链路变得越来越复杂,一笔业务请求往往需要经过多次调用才能完成。因此,为保障转型平稳推进,在转型过程中及转型后,需完善对系统及交易的监控。在此背景下,功能强大的全息监控平台及业务监控系统应运而生。

 

 
1.全息监控

 

由于调用关系的复杂性,调用链路中某个环节的不稳定,很可能导致系统性风险。传统集中式架构的监控、治理模型,难以满足分布式体系下应用节点高可用保障方面的要求。全息监控平台凭借以下能力,可很好地应对该问题。

 

1)链路信息追踪:支持跨应用、跨平台的交易级细粒度链路监控,从链路采集的数据可用于链路追踪,同时通过链路维度的信息关联,形成系统行为与日志和性能的映射,构建自助分析体系,助力故障快速诊断,如图1所示。

 

图片

图1 链路信息追踪

 

根据链路信息,可快速定位该笔服务处理流程中的异常节点(如图2所示),并通过详情查看、JVM监控、云资源监控等获取节点IP、资源情况、报错详情等。

 

图片

图2 根据链路信息快速定位某笔服务处理流程中的异常节点示意

 

2)交易资源监控:具备多维度监控视图(如图3所示),可按园区/单元、应用、群组、服务、实例等维度监控交易量、技术/业务交易状态、响应时间、上下游依赖等。

 

图片

图3  交易资源监控示意

 

3)节点资源监控:可实时监控操作系统负载、CPU使用率、内存使用率、网络带宽、网络连接数、JVM堆内存、GC等多个节点资源指标,如图4所示。

 

图片

图片

图4 节点资源监控

 

4)服务报警推送及查询:对于服务调用异常的信息,包括超时、失败率、线程池、没有提供者和限流异常等,可通过短信等方式自动报警至相关关系人,并支持快速导出相关异常信息、查看报警时点前后时段的报警统计情况等,以辅助快速定位问题,如图5所示。

 

图片

图5 服务报警推送及查询

 

基于全息监控的强大监控功能,并辅之以联动自动报警功能,能够迅速发现问题、定位故障并降低问题影响,维护生产稳定运行。 

 

 
2.业务监控

 

对机器资源、交易量、交易链路等进行可视化监控后,因性能容量引起的系统异常能快速定位、快速应急。至于转型切换过程中、转型后的服务维度的成功率、异常报错等,则可根据应用实际情况进行个性化业务监控。

 

1)生死指标监控:基于应用监控系统,各应用可根据自身特点进行个性化监控,把核心重点交易及系统整体的相关指标设为生死指标,并在服务异常时通过短信等方式自动报警,如图6所示。

 

图片

6 生死指标监控示意

 

2)个性化生产运行监控:对于业务长时间未闭环、批量处理超时等有时效性要求的场景,可根据生产实际需要部署针对性监控,当超过报警阈值时自动短信报警给相关人员及时介入,保障业务时效性要求,如图7所示。

 

图片

图7 个性化生产运行监控示意

 

3)服务报错偏离度监控:基于服务提供方按规范对每笔交易记录的信息,在服务切换后,支持按“服务名+方法名+错误码”等维度部署监控,并对错误增长情况进行自动比较,以尽快发现服务异常和迅速应急,如图8所示。

 

图片

图8 服务报错偏离度监控示意

 

二、智能应急助力转型过程及时解决问题

 

基于智能监控,分布式开放平台可迅速发现系统异常、业务处理异常。而在解决问题方面,工行通过针对异常场景的应急能力建设,确保发现问题后能够高效、有序地进行应急处理。

 

 
1.转型过程中新旧系统切换应急开关建设

 

基于六步工程实施工艺的转型思路,工行对新旧系统切换过程进行沙盘推演,对可能遇到的问题在设计时即预先考虑增加相应开关,精心设计了渠道/产品应用开关、转型应用开关,当切换过程中出现异常时可一键回切。

 

1)渠道/产品应用开关:由渠道/产品应用进行部署和维护。渠道/产品应用根据自身交易场景进行开关配置,通过该开关完成分布式开放平台服务和原系统服务之间的切换,保证各渠道交易平稳接入到平台服务,实现转型路径解耦。切换过程中的应急预案由渠道/产品应用组织建设,应急时可以快速回切原系统的服务以恢复交易。

 

2)转型应用开关:由转型应用和相关配合产品应用分别部署和维护(如图9所示)。转型应用完成应用组件功能建设,并根据自身服务配置,通过该开关完成“新旧系统双写”、“仅处理平台新系统”等功能的切换,确保原系统服务的功能平稳迁移至平台服务。切换应急预案主要由转型应用组织建设,故障时可以快速回切原系统的服务以恢复业务。

 

图片

图9 转型应用开关示意

 

 
2.转型应用自身异常的应急建设

 

对于转型应用自身可能遇到的异常场景,工行也针对性进行了应急能力建设。

 

1)应用容器、数据库单园区接管:当应用容器/数据库出现单园区故障或演练时,运维人员可通过一键式切换工具,将应用容器/数据库切换到单园区运行,由单园区承载所有业务处理,保障业务连续性。

 

2)限流、熔断、阻断:建设具备流量防护功能的限流中心,当应用服务请求流量达到预定阈值时,对超过阈值的流量自动限流使交易快速闭环;当连续访问超时或访问报错且达到预定阈值时,自动断开对当前服务资源的访问,并在一定时间后再尝试恢复访问;当需要人工介入时,运维人员可对指定服务资源进行一键关闭处理。通过以上机制,可避免流量过载导致应用系统雪崩的风险。

 

3)灰度发布一键调整:独立部署物理灰度节点,投产后部分流量引流到灰度容器,部分流量流入正常节点并保持投产前的处理逻辑。当灰度试点阶段发现系统级故障,可启动灰度发布一键调整流程,关闭灰度总开关或下线灰度容器;当灰度试点阶段发现个别服务处理异常,可启动一键调整灰度服务范围的流程。通过灰度发布一键调整流程,能够提高生产稳定性和业务处理连续性。

 

4)数据调整:对因程序处理存在缺陷等原因导致的数据不一致,支持提交指定作业对数据进行一键调整,及时规避因数据不一致导致的交易异常(如图10所示)。

 

图片

图10 数据调整示意

 

在转型应用自身异常应急能力的落地层面,通过提前部署针对性的流程策略,支持在发生异常后通过一键调整实现快速应急,如图11所示。

 

图片

图11 异常发生后一键调整实现快速应急示意

 

三、分布式开放平台转型成果

 

基于完备的智能监控和应急体系设计,工行已在六步工程实施工艺指引下实现了原系统到分布式开放平台的平稳转型,大部分业务已在全技术栈安全可控的分布式架构上全天候(7×24小时)独立运行,取得了分布式开放平台自主可控这一银行业“卡脖子”技术攻关工程的关键突破,是我行深入贯彻国家科技强国和创新驱动发展战略,在金融领域实现金融科技关键技术自主可控的重要实践,也是践行“以人民为中心”发展思想的创新之举。 


 
作者丨中国工商银行软件开发中心广州开发三部 何丽君
来源丨公众号:BanTech智库(ID:BanTech_Research)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
最新评论
访客 2023年08月20日

230721

访客 2023年08月16日

1、导入Mongo Monitor监控工具表结构(mongo_monitor…

访客 2023年08月04日

上面提到: 在问题描述的架构图中我们可以看到,Click…

访客 2023年07月19日

PMM不香吗?

访客 2023年06月20日

如今看都很棒

活动预告