中国人民银行"金融科技发展规划(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语句在节点间的执行轨迹直观呈现,为解决故障和调优性能提供了客观依据.
华青融天交易交控系统在数十家银行成功应用.未来我们将继续努力,帮用户发现看不见的价值.