助力银行核心下移,监控分布式数据库,融天鹰眼轻松应对五大挑战

发布时间: 2020-07-31 16:04:38 来源:

中国人民银行《金融科技发展规划(2019-2021)》指出:“加强分布式数据库研发应用……有计划、分步骤地稳妥推动分布式数据库产品先行先试,形成可借鉴、能推广的典型案例和解决方案,为分布式数据库在金融领域的全面应用探明路径。”

大型银行实现核心系统由国外主机平台向国产分布式平台迁移,是大势所趋,也是一个巨大的工程。确保迁移过程的可观察性(observability)、保证业务连续不中断,是重中之重,核心下移的过程是三分开发+七分运维。

核心下移过程充满严峻挑战,尤其是数据库的分布化,给运维带来极大的难度,而交易监控系统事前、事中、事后都会发挥不可替代的作用。

挑战之一:集中式运维到分布式运维

银行核心系统从主机系统迁移到X86分布式平台,相当于实现了从集中式单节点到多节点架构的飞跃,难度不亚于乾坤大挪移。

集中式系统中的交易实现过程相对简单,而迁移到分布式系统后,交易的流转过程大大复杂化了,原来很简单的一笔交易,都可能由数台甚至数十台节点协同完成,可能跨越多个集群和数据中心。如何跟踪这些复杂的交易过程,及时处理其中出现的问题,优化不合理的资源配置,正是所有分布式系统的运维工作难度所在。

例如,某大型银行的X86核心系统采用多地多中心的部署架构,外围系统通过DNS域名解析、F5负载均衡访问应用集群,应用集群通过PROXY访问数据库,同时集群中还包括REDIS、全局事物管理节点、元数据管理节点等。数百台服务器构成的集群,结构复杂,节点众多。

华青融天鹰眼交易监控系统(EZSonar)采集和分析业务系统产生的数据流量,解析所有报文,从而贯通了分布式节点构成的整个交易链路,从业务视角实时监控交易量、响应率、成功率等指标。当有故障发生时,可以按交易链路顺藤摸瓜,快速发现出现性能问题和故障的节点,为分布式系统的运维实现提供了利器。

挑战之二:建立分布式环境下的运维体系

中国人民银行《金融科技发展规划(2019-2021)》强调:“做好分布式数据库金融应用的长期规划,加大研发与应用投入力度,妥善解决分布式数据库产品在数据一致性、实际场景验证、迁移保障规范、新型运维体系等方面的问题。”

可见,要实现分布式环境下的运维,仅仅有监控系统还是不够的,必须建立新的运维体系,并使运维人员具备新的技能,在系统迁移的事前、事中、事后实施全面的监控。

正如飞行员在飞上蓝天之前必须做大量模拟训练,要建立新的运维体系,让运维团队实现从集中式到分布式环境的转变,就必须在系统投产前进行大量的实兵演练,以转换工作方式,胜任新平台的运维工作。

为此,必须建立一套尽可能接近真实的模拟环境,部署真实的服务器集群、数据库、应用软件和监控系统,还要有真实的数据流量输入。某大型银行在核心系统者投产之前,提前搭建了高仿真系统,与真实环境近乎1:1,用于模拟上线后的新核心系统,以训练运维人员学习和适应新平台。

华青融天鹰眼系统在高仿真环境下,扮演了仿真工具和监控工具的双重角色,成为了运维团队的好帮手。

挑战之三:如何快速定位故障节点

在业务系统运行中,交易的异常会直观体现在应用节点,但经常是由于数据库、REDIS等节点异常导致的,比如热点账户导致数据库响应时间上升,进而引起交易响应时间上升。

这个问题主要通过华青融天鹰眼系统的全链路解码来解决。X86核心下移节点间的通讯涉及多种报文格式,包括XML报文、HTTP报文、MYSQL报文、REDIS报文、定长报文等。通过将全部节点接入鹰眼交易监控系统,针对每一个IP配置告警,可以在集群运行正常但单台设备异常时产生告警,第一时间定位异常节点。

同时,可以利用鹰眼交易监控系统的多维分析功能,比对每类节点的运行趋势曲线来判断故障节点。比如,交易在一段时间内响应时间升高,可以分别查看REDIS、PROXY、数据库等节点的响应时间曲线,如果和交易响应曲线趋势一致,说明此类节点存在响应时间高的情况。

挑战之四:如何跟踪交易在各节点的处理情况

在个别交易出现异常,或进行交易性能调优时,运维团队需要短时间内分析出该交易在各节点的耗时、访问了哪些数据库表、执行了什么操作,等等。

通过华青融天鹰眼监控系统的交易追踪功能,可以将业务系统全链路串接起来,实现交易追踪的功能。通过在各节点通讯报文中增加全局流水号,以全局流水号标识每一笔交易,将报文中的全局流水号解码后,通过全局流水号跟踪一笔交易的整个执行过程,打开了复杂分布式集群和应用系统的黑箱,让一切过程一目了然。

这项技术非常适合判断交易的耗时点。比如,数据库节点单条语句执行时间很短,但如果一笔交易频繁访问数据库,累计的总时间会加长,通过全局流水号串接后,就可以看到交易访问数据库的次数和总耗时,进而可以分析出问题点。

挑战之五:解决数据库分片的处理性能差异

金融级分布式数据库的采用,是银行核心系统分布化的重点。在数据库实现分布化以后,数据库节点各分片访问量是否均匀、响应时间是否一致、是否存在频繁访问的单分片表等,就成为运维团队必须密切关注的问题。

解决数据库各分片处理性能差异,可以通过华青融天鹰眼监控系统的SQL语义解析来定位问题。将SQL语句中的执行操作、访问的数据库表、WHERE条件、全局流水号等元素进行解析,通过多维分析找出访问量最高的表、执行最频繁的操作和耗时等情况,从而让SQL语句在节点间的执行轨迹直观呈现,为解决故障和调优性能提供了客观依据。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如有侵权行为,请第一时间联系我们修改或删除,多谢。
Top