结算中心负责中国移动漫游伙伴进行数据和财务清算支撑。本次结算中心项目涉及结算处理、资料管理、信息管理等模块,用以构建系统的结算能力。
结算中心现有传统集中式架构的数据库无法做到根据业务量变化进行弹性扩缩容,目前系统数据量巨大,月处理话单量达到百亿,后续业务会快速发展。
系统建设目标为承接月百亿话单量的数据处理,数据库需要存储和处理的数据量巨大,达到上百 TB 规模;结算系统业务逻辑复杂,存在大量报表类需求,需要对数据进行关联、聚合等复杂操作。同时为了实现移动 IT 核心业务系统数据库自主可控、避免 “卡脖子” 的目标。
综合以上需求,用户需要的是国产自研、具备弹性扩展特性、高性能、可以处理分析类业务场景的数据库。
根据上文建设需求可以看出用户需要的是具备弹性扩展能力、数据实时分析能力、具备高可用及容灾架构、可以智能管控的国产分布式数据库。亚信 AntDB 数据库符合客户需求,并且 AntDB 是业界为数不多,同时支持分布式与集中式部署模式的数据库产品。
原生分布式、弹性扩展:结算中心详单库需要数据库具备水平扩展能力,可以实现线性扩展。亚信 AntDB 数据库原生分布式设计,对应用完全透明,兼顾性能与可扩展性。
AntDB 数据库具有超强 Scale up 能力,对 CPU、内存、连接数不做限制。数据进行分片后打散存储到各数据节点中,随着业务增长用户可以在线进行扩容操作,数据库线性扩展比可以达到 1 以上,随服务器数量增加实现性能线性增长。
HTAP 实时分析:结算中心存在大量报表需求,需要数据库具备实时数据分析能力。亚信 AntDB 数据库为 HTAP 类型,可以处理交易和实时分析融合的业务场景。AntDB 数据库具备实时强一致的分布式事务控制能力,确保数据零丢失和事务一致性,保证话单数据处理的准确性。
AntDB 具备动态高效的 SQL 执行引擎,提供异构索引,内置 reduce 数据处理引擎,数据节点间可以进行通信,提高数据处理效率,尤其是复杂查询场景(聚合、关联等)的数据处理效率,提高结算中心话单数据的处理效率和结算报表的生成速度。
图 1:AntDB 数据库产品架构
高可用及负载均衡:结算中心需具备高可靠特性,建设容灾体系。亚信 AntDB 数据库提供完整的集群自愈方案保证秒级自动故障切换实现业务连续,并且可以保证数据的完整性和强一致性,实现真正意义上的 Auto-Failover,保证数据库系统可以获得 99.999% 的 SLA 服务保证。
结算中心数据库域的公参、结算、账单库使用 AntDB,这部分数据为系统核心配置参数,数据重要但是不会出现激增,故选用集中式部署模式的 AntDB。该架构使用 etcd + Patroni 工具实现高可用,默认为 1 个主库加 2 个备库的配置,主备之间采用实时的同步复制模式,确保数据的强一致性。业务端可以配置三台数据库的地址和端口,在主库发生异常情况时,备库仍然能够保证业务的连通性。
图 2:AntDB 集中式部署模式高可用架构
详单库用于存放结算话单,容量达到百 TB 以上,而且这部分数据随着业务量增涨会出现大幅度增加,故选用分布式部署模式的 AntDB。AntDB 分布式部署模式,本身即高可用架构。计算节点、数据节点、全局事务管理器均具备高可用机制,业务端可以配置多个计算节点的地址,实现高可用及负载均衡。
图 3:AntDB 分布式部署模式高可用架构
双中心容灾保证可靠性:根据用户需求,话音系统为核心系统,为保证业务的连续性及数据安全性,数据库需要建设主备容灾系统,在单中心发生断电、断网等全局故障的时候另外一个中心可以快速接管,不影响生产话单的实时结算。
亚信 AntDB 数据库支持双中心、两地三中心等多种容灾方式,该项目上选用的是双中心容灾模式。AntDB 集中式部署模式一共使用三台服务器,主库和第一个备库之间采用同步复制模式,和第二个备库之间采用异步复制模式。为实现双中心容灾,可以把主库和第一个备库部署在主中心机房中,第二个备库部署在副中心机房中。这样在单边异常的情况下,都可以保证另一个中心正常提供服务。公参、结算、账单库通过这种方式实现双中心容灾。
图 4:AntDB 集中式部署模式容灾 “双中心” 架构
AntDB 分布式部署模式天然支持双中心容灾,通过 AntDB 集群管理工具可以快速地在备中心完成集群搭建,主中心出现全局故障时,可以迅速切换到备中心承载业务。
图 5:AntDB 分布式部署模式容灾 “双中心” 架构
智能运维管控:结算中心数据库节点数众多,需要运维平台对数据库集群进行统一管理。
AntDB 数据库提供智能运维管控平台,可以实现数据库集群管理。对数据库进行自动监控,包括常规数据库服务器监控、数据库关键指标监控,并进行告警通知等,大大提升数据库的可维护性。
AntDB 优势总结
该项目中,国产数据库 AntDB 的大范围使用,促进移动结算中心系统数据库国产化进程迈进了一大步。助力移动结算能力标准化,强化结算运营流程规范化,打造集约化、透明化、智能化、规范化的共享结算平台,承载结算业务,提升结算能力、结算形态延伸,实现全业务、全流程智能共享结算体系。
技术架构优势总结
(一)分布式特性克服传统数据库弊端
分布式数据库是当代数据库系统的主要特性之一,而传统集中式部署的数据库,不具备水平分布式扩展的能力。特别是 Oracle 的 IOE 架构,需要搭配昂贵 IBM 小型机 + EMC 高端存储,硬件和软件成本都很高。
AntDB 数据库的部署,可以使用成本较低的国产服务器,通过分布式特性的水平扩展能力弥补服务器性能差距。集群节点内部具备高可用,双中心部署保证高可靠性,面向应用,数据库具备了弹性扩展的能力,应用业务快速增长的情况下数据库可以进行在线扩容满足业务需求。
(二) 技术架构的高可用特性提供可靠业务保障
数据库应具备服务高可用的能力。项目中 AntDB 具备集群自愈、双中心容灾架构,保证秒级自动故障切换实现业务的连续性,并且能确保数据的完整性和强一致性。双中心架构在主机房发生故障时,可以迅速切换至备中心接管业务,保证上层业务不受影响。
效果优势体现总结
AntDB 承载结算中心结算、账单、公参、详单库,数据库具备高可用特性,并且进行了集中式部署和分布式部署全场景覆盖的高可用测试。
集中式部署集群的高可用测试,包括:主节点异常、宕机场景,同步备节点异常、宕机场景,异步备节点异常、宕机场景,ETCD 服务异常。分布式部署集群的高可用测试,包括:全局事务管理器主备节点异常、宕机场景,计算节点异常、宕机场景,数据节点主备服务器异常、宕机场景。
AntDB 顺利完成了高可用测试,所有异常场景均可做到秒级切换,保证业务连续性,保证用户结算业务不受影响。
根据结算中心业务特点,AntDB 团队针对性的进行了压力测试。AntDB 使用自研压力测试工具模拟 1500 个长 JDBC 连接加 100 个活跃会话对数据库进行压力测试,用以验证数据库稳定性。
图 6:压力测试数据库指标
测试过程中数据监控数据如上图所示,可以看出在高并发多连接应用场景下 AntDB 数据库运行稳定,各项指标正常。服务器 cpu、内存、IO 等指标也保持在正常水平。综上所述 AntDB 可以很好的支撑结算中心业务场景。
应用推广价值
本次,中国移动结算中心选用国产自研数据库 AntDB 具有广泛的社会意义。一方面结算中心作为运营商核心系统选用 AntDB 充分证明了国产数据库已经可以平滑替代国外商业数据库,而且整体表现良好,从性能、稳定性、可靠性上都得到验证,可以作为标准化案例继续在运营商行业进行复制推广。
AntDB 整体软硬件成本较国外数据库为客户减少约 60% 的成本,项目引入 AntDB 配套智能运维管控平台,可以为客户每年减少上百万维保费用。
另一方面同国家政策相契合,在关键行业关键环节上实现了自主可控,避免了国外厂商卡脖子,断供,信息泄漏等风险,持续推进运营商体系内的国产化自主可控进程。
关于 AntDB 数据库
AntDB 数据库始于 2008 年,在运营商的核心系统上,为全国 24 个省份的 10 亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。