一、引言
本报告探讨了金融级单元化架构的设计原则、应用场景和实践案例。报告首先介绍了研究背景,指出在全球数字化转型加速推进的背景下,金融行业面临着技术架构自主可控、可持续发展的挑战,而单元化架构因其高性能、高可用、多地多活等特点,成为金融科技的重要研究方向。报告还阐述了研究方法,包括POC验证、可行性评审、项目招标和总体设计等阶段。
二、金融级单元化架构概述
本报告对金融级单元化架构的相关术语进行了描述,包括“金融级”和“单元化”。其中,“金融级”指满足金融行业IT系统高标准要求的特性,如高性能、高可用、高安全性、合规性等;“单元化”指将应用和数据按照特定规则进行拆分,形成自包含的业务处理单元,以实现业务流量闭环处理。
报告还回顾了技术架构的发展历程,从单体部署架构、应用与数据分离部署架构、应用集群化部署架构、读写分离部署架构、NOSQL部署架构、分布式文件系统部署架构、数据垂直切分部署架构、应用垂直切分部署架构、SOA与微服务部署架构、数据水平切分部署架构,最终发展到单元化部署架构。单元化架构的出现,旨在解决微服务架构下跨机房流量访问问题,提升系统性能和稳定性。
三、金融级单元化架构设计
本报告重点介绍了单元化架构的设计原则和关键要素,包括单元化适用场景、单元化架构设计原则、数据库单元化架构设计、云平台单元化架构设计和应用单元化架构设计。
单元化架构适用于数据体量足够大、应用面向客户、要求同城双活、未来考虑异地多活、以及灰度场景的业务系统。单元化架构设计原则主要包括“拆分流量”和“闭环处理”,通过将业务流量按照特定规则进行分流,归属到不同单元进行处理,并在单元内完成业务流量的处理。
数据库单元化架构设计需重点关注数据库集群划分、数据路由工具、数据同步工具和数据库容灾与备份等方面。云平台单元化架构设计需重点关注单元化管理、微服务平台、消息队列、分布式事务、任务调度和容灾管理等方面。应用单元化架构设计需重点关注应用单元化架构可行性评估和应用单元化改造策略等方面。
四、金融级单元化架构应用场景
本报告重点介绍了单元化架构在数据拆分场景、数据聚合查询场景、单元路由转发场景和单元高可用场景中的应用。
数据拆分场景中,常见的拆分维度包括按客户号进行hash分片、客户号Range/List模式和机构或省市维度分片。数据拆分实现策略包括借助数据库厂商的分布式数据库实现数据拆分及分片,以及在应用层通过数据库分库分表组件实现数据拆分及分片。
数据聚合查询场景中,常见的实现方式包括先查询再聚合和先聚合再查询。先查询再聚合方式数据准确度高,但查询速度慢;先聚合再查询方式查询时响应速度快,但数据实时性降低。
单元路由转发场景中,需要设计路由标记和路由转发规则,将客户端请求根据路由要素字段和灰度规则字段,转发到对应的单元中。
单元高可用场景中,需要设计数据库高可用、应用高可用和云平台高可用,以实现以单元为粒度的故障场景下的业务连续性。
五、应用实践
本报告以四川银行为例,介绍了四川银行如何根据自身发展需求选择单元化架构,通过架构升级提升了对基础设施的自主可控能力,以及如何通过平台级能力来最大幅度减少单元化架构落地时对应用侧的影响。
六、总结展望
本报告总结了金融级单元化架构的未来发展趋势,包括新技术融合加快业务创新、多地多活架构进一步深化、生态合作与标准化建设逐步完善等方面。