导语
本文介绍了微众银行在TDSQL存算分离架构方面的探索实践。文章首先回顾了微众银行作为首家数字银行采用分布式架构的创新历程,然后阐述了其基于TDSQL的同城多活架构体系。随着数据规模增长,原有存算一体架构面临业务连续性、资源利用和扩展性等挑战,促使微众银行进行存算分离架构革新。文章重点分析了这一架构转型的技术方案、实施价值与面临的挑战,最后展望了结合容器化、分布式存储等技术的未来发展方向,为金融科技领域的基础架构升级提供了宝贵参考。
一、微众银行基础架构介绍
作为中国首家数字银行,微众银行自 2014 年成立伊始,便将科技作为推动业务发展的核心引擎,致力于通过前沿技术重构金融服务底层逻辑,探索出一条差异化、特色化的数字普惠金融发展之路。
在 2014 年微众银行扬帆启航之际,其核心生产系统的构建面临重大抉择:一条路径是沿用传统的 IOE 集中式架构以实现快速上线,另一条路径则是当时国内金融机构尚未涉足的分布式架构。微众银行数据库平台负责人胡盼盼回忆称,“让金融普惠大众”的使命,引导微众银行突破传统技术路径的束缚,借助科技的力量重塑成本结构,使得服务中小微企业和大众群体演变为可持续发展的商业模式。最终,微众银行果敢地踏上了创新之路 —— 运用标准服务器联合开源软件,构建起全球首个基于分布式架构的银行核心系统。
该系统凭借极低的运营成本,成功支撑起庞大客户群体以及高并发交易需求,一举突破了银行核心系统中大容量、低成本与高可用性难以兼顾的 “不可能三角”。即便在日交易峰值高达 14 亿笔的场景下,核心业务依然能达到99.999% 的高可用,超越电信级标准,同时,单账户年 IT 运维成本稳步控制在 2 元,仅为业界平均水平的十分之一。目前,微众银行已为 4.2 亿个人用户提供了全天候、无间断的优质服务,确保他们随时享受便捷的金融服务。此外,微众银行累计申贷的企业客户数超 580 万,以 “分钟级” 的高效服务为这些企业的资金需求提供强劲助力。
图1 微众银行分布式银行核心系统成效
二、微众银行整体架构
微众银行在同城建设了多个IDC,IDC之间互联,并建立多条网络专线,保证IDC之间的网络稳定。数据库的架构需要支持实现同城IDC级别的高可用,以及应用的同城多IDC多活访问。基于以上需求,我们设计了TDSQL同城多机房部署方案,如图2所示。
图2 微众银行基于 TDSQL 的同城多活架构
部署方案采用同城 3 副本 + 跨城 2 副本的 3+2 部署模式(一个TDSQL SET内)。同城 3 副本为 1 主 2 备,分别部署在同城的 3 个IDC 中,副本之间采用 TDSQL 强一致数据同步特性,保证同城 3 IDC 之间的 RPO=0;TDSQL的高可用自动主备切换机制,可以保证RTO 在秒级恢复。
跨城容灾的 2 副本通过同城的一个 slave 节点进行异步复制,实现跨城的数据容灾。基于以上部署架构,在同城可以做到应用多IDC多活,即联机的业务流量,可以同时从 3 个 IDC 接入,哪怕当中有任一 IDC 故障不可用,都可以保证数据 0 丢失,且秒级恢复数据库服务。
三、TDSQL 产品及架构优势
多数据中心多活:TDSQL 支持多中心能力,从机房级故障发生到业务流量切换完成,全程控制在35秒内。
批量容灾演练能力:利用原生 TDSQL 副本高可用,跨集群同步复制技术,实现批量切换演练。容灾演练通过系统性验证与持续优化,实现了金融级高可用目标,其成效价值不仅体现在技术指标的突破,更对业务连续性、成本控制及行业标准建设产生深远影响。容灾演练的实践,是技术竞争力与业务护城河的核心组成部分。通过实践,我们在行业树立了“以终为始”的标杆——容灾能力不是成本,而是资产。
自动化监控与运维: TDSQL 配套提供了赤兔管理平台系统,来支持整个 TDSQL 集群的可视化、自动化的监控和运维功能。通过 TDSQL 赤兔管理平台,可以实现监控数据的采集与显示、告警和策略配置、日常运维操作(主备切换、节点替换、配置更改等)、数据库备份与恢复、慢查询分析、性能分析等一系列功能,极大提升了运维效率和运维准确性。
图3 TDSQL 赤兔管理平台界面
四、TDSQL 部署架构现状
及存算分离架构探索原因
TDSQL 部署架构现状
TDSQL 目前在行内主要有两种部署形态:
- 存算一体架构:基于服务器本地盘构建数据库架构。
- 存算分离架构:基于外置存储池,服务器作为计算节点,根据容量需求,决定挂载存储容量。
图4 存算一体架构
为什么微众会做存算分离架构探索?
十年的发展,伴随着AI浪潮,数据洪流正在悄然形成新的挑战。微众银行的数据规模从不到10PB激增至110PB以上,同时服务器数量增至2万台,规模迅增了20倍。原基于本地盘服务器的数据库部署架构,面临的成本和运维压力逐渐凸显:
1. 业务连续性挑战:存算一体架构下,服务器的单盘故障率较高,单台可用率约99.9%,服务器故障会触发数据库主备切换,造成业务抖动,给运维带来压力。
2. 资源利用率较低:计算和存储资源强绑定,各个节点资源利用率不均,80%以上的设备CPU平均利用率不足10%,资源成本较高。
3. 资源扩展性较差:本地盘单盘容量固定,导致单实例的容量、性能存在上限,无法灵活进行扩缩容。
4. 节点重建效率低:本地盘服务器节点在数据重建场景,需要全量拷贝,重构时间2小时/TB,重建期间数据库实例均处于高危状态,如果发生二次故障,会影响数据库的可用性。
面对上述挑战,微众银行决定从核心数据库的底层硬件架构破局,经过反复的筛选对比与技术验证,最终确定存算分离的“Diskless架构”:
• 服务器去本地盘化(Diskless):将原来的本地盘从服务器分离出来,变成一个远程访问、大容量、集中管理的存储池,应用直接挂载LUN分区卷,实现存储资源按需分配。
• 计算无状态化:数据库计算节点仅保留CPU与内存,采用虚拟化、容器等方式实现计算资源的弹性分配。
• 双层高可用性保证:数据库软件层基于TDSQL数据库的强一致性主备同步和高可用自动切换,提供数据库的高可用,外置存储池基于存储盘框的双控机制、RAID等实现存储池的高可用,从而提供更加稳定可靠的数据库服务。
• 轻量化半集中式存算分离架构:3台存储盘框和若干计算节点构成一组数据库资源池(分布于同城三个IDC),提供若干个数据库实例服务。全网环境将由多组数据库资源池组成,形成轻量化半集中式存算分离架构,既解决了存算一体的架构痛点,也避免了存储过于集中带来的整体风险。
图5 存算分离架构
五、存算分离架构的价值和挑战
业务价值及收益
- 业务连续性:外置专用存储池可用性99.999%,最多允许3块盘同时故障而不影响业务。
- 资源扩展性:可实现10GB~数TB的逻辑卷动态挂载,并可实现在线动态扩缩容,对数据库应用透明。
- 资源利用率:计算与存储资源解绑,计算资源可采用虚拟化、容器等方式,提升利用率;存储池也可视使用情况超用分配。经估算,机位数量可节省约45%,整体服务器成本可节省约30%。
- 节点重建效率:专用存储池的高可用性,可基本规避数据拷贝重建;计算节点故障后,直接将逻辑卷挂载到新的计算节点即可,实现秒级重建。
面临的挑战
(1)需谨慎评估IO时延对数据库性能影响
集中式存储提供高 IOPS 和吞吐量,满足高并发业务对性能的需求。但对比本地SSD盘,集中式存储较高的访问时延会带来性能影响,如SQL耗时增长、数据库的主备复制性能下降。
业务应用系统使用TDSQL存算分离架构前,应针对各业务场景进行全面的压力测试,分析SQL耗时是否在可接受范围内,以及如何优化应用数据处理逻辑,从而减少IOPS消耗、缓解IO时延增高对业务的影响。
(2)精细化的容量管理与成本控制
一方面,需要均衡资源使用率,提高资源利用率。1个TDSQL资源组包含3台集中式存储和多台数据库服务器。TDSQL资源均衡包括如下3个层面:
-
多个资源组之间的资源使用均衡;
-
单个资源组内,不同服务器间、不同集中式存储间的资源使用均衡;
-
单台服务器上CPU 、内存的均衡使用,单台集中式存储容量、IOPS、IO时延的均衡。
一方面,需要根据业务场景所需的容量、业务TPS等数据,通过自研资源调度算法,考虑业务系统风险隔离以及资源均衡,选择合适TDSQL资源组下的3台服务器进行实例部署。新实例可以设置较高的资源上限,待运行稳定后,再评估实例实际所需资源。根据业务重要性决定如何实施资源限制。
(3)运维复杂度的增加
数据库存算分离架构下,DBA运维需要同时关注 TDSQL 和集中式存储,更多监控信息,包括运行状态、性能指标和容量使用情况等。由于 TDSQL 的性能和故障问题可能与数据库自身、集中式存储或网络连接相关,问题排查相对更加复杂,需要更加自动化的运维管理能力。
六、未来展望
存算分离能力是 Serverless(无服务器架构)化重要的能力之一,结合 TDSQL 容器化等能力,可以进一步做到资源管控和调度精细化管理、弹性扩缩能力,未来发展的方向:
1.存算分离进一步探索:结合虚拟化和数据库容器化,进一步管理和节省TDSQL计算资源。
2.支持更多的存储类型:探索其他存储类型,如分布式存储或其他存储品牌。
3.丰富使用场景:结合 TDSQL 管控台,细化运维监控数据及重建备机效率。
作者:胡盼盼 微众银行数据库平台负责人,腾讯云TVP
硕士毕业于华中科技大学,毕业后加入腾讯,任高级工程师,从事分布式存储与云数据库相关的研发与运营工作;2014年在微众银行筹办之时,就加入了微众银行基础架构团队,亲历和见证了微众银行分布式核心架构从无到有的建设与发展,也参与了微众银行基础架构1.0到基础架构2.0的重大演进。目前全面负责微众银行数据库平台的建设和运营,包括关系数据库平台和KV数据库平台。
腾讯金融云「专家说」栏目
在这里,我们汇聚了金融科技领域的前沿思想和深刻见解。每期文章,我们都将邀请行业专家,深入探讨银行、证券、保险、支付等多个金融子行业的科技创新实践和技术突破。从云计算到人工智能,从大数据分析到区块链应用,我们旨在揭示金融科技如何重塑行业生态,为金融机构提供转型思路,为客户创造更优服务体验。紧跟“专家说”,把握金融科技脉搏,一起开启智慧金融的未来之旅!