支付宝秀秒级自愈力 这项技术简直逆天了!(2)
不止是“多了两家机房”
胡喜在演讲中强调,与传统的“两地三中心”方案相比,“三地五中心”并非是多了两家机房这么简单。
在产品架构方面,“三地五中心”需要两座城市的四个机房同时在线。每一笔交易都会至少在两个城市的副本中进行同步,并将所有数据定期备份到第五机房。这对于企业的分布式架构、数据库、中间件及相关金融核心技术,都提出了巨大的挑战。
以决定分布式数据库性能指标的读写性能为例,数据中心的数量增多,各数据中心之间的物理位置变远,都会导致整个分布式数据库系统的读写性能下降。
36氪获悉,支付宝“三地五中心”的架构,来自于蚂蚁金服自研的分布式数据库OceanBase。在这一体系下,五个数据中心都存有副本。副本之间基于Paxos协议保持数据一致性。个别机房发生故障,并不会导致数据丢失。
蚂蚁金服资深技术专家杨冰解释说,在OceanBase的支持下,尽管支付宝采用了五副本的运行模式,但读取性能并未下降,写入操作延迟也仅受到城市之间的距离影响,有所增加。
OceanBase项目上线于2010年,是一个由阿里内部团队自行研发的数据库系统。同年,阿里开始在自有体系内以OceanBase替换甲骨文的Oracle数据库系统。2013年,淘宝全线切换为OceanBase系统。2014年后,支付宝的交易、支付、账务系统,先后被切换为OceanBase数据库。
阿里巴巴CTO王坚此前表示,Oracle数据库基于传统IT环境,对电商行业高并发、实时在线、大规模网络优化等环境适应有限。只有自研数据库,才可以满足阿里的运营需要。
OceanBase数据库,让阿里在应对双11购物节活动,以及为支付宝架构“三地五中心”等复杂系统时,拥有了自己的武器。但自研数据库并非易事。蚂蚁金服向36氪表示,目前OceanBase数据库代码已达到百万级别,是中国第一个具有自主知识产权的分布式关系数据库。
2017年后,蚂蚁金服宣布了自己的开放战略,将支付、理财、信用、口碑开店等诸多能力开放给合作伙伴。OceanBase也自此同步开放。2017年9月,OceanBase与南京银行达成合作,将南京银行的数据处理能力由10万笔/日以下,提升到了100万笔/日以上。
“我们的技术目标之一,就是保证金融级别的系统稳定和安全能力。”蚂蚁金服副CTO胡喜说道。