TiDB 在北京银行交易场景中的应用实践
作者介绍:陈振东,北京银行软件开发部 北京银行是一家城市商业银行,公司价值位列中国区域性发展银行的首位,依托于中国经济的大环境,北京银行的资产总量在全球千家大银行中名列第 61 位,连续六年跻身全球银行业百强。北京银行积极开辟多元化的业务经营,例如北京地区的社保缴纳和医保代发,都是由北京银行在提供服务,在你入职一家公司的时候,收到的医保折子就是来自北京银行。 业务转型驱动分布式架构建设 由于快速的业务发展需求,北京银行在业务转型中对系统架构进行了升级,逐渐向分布式架构进行转移。早在 2016 年,北京银行就开始了对分布式数据库的探索,并于 2018 年正式投产上线了 TiDB 分布式数据库,当时在业内还没有一个比较完善与成熟的体系,我们也是根据银行的安全合规需求建设了两地三中心的部署方案。 如上图所示,在两地三中心部署了 TiDB 分布式数据库集群,采用主从的多活架构,主集群作为生产集群承担日常的生产服务,从集群是建设在西安的异地灾备中心,主从之间是用 Kafka 同步 Binlog 形式进行数据的同步。 在这两年的建设过程中,北京银行与 PingCAP 进行专项的深度合作,这里简单介绍三个方面: 两地三中心 :在两地三中心的部署方案中,异地中心的网络延时会对整个集群的性能产生较大影响,我们在这层面上对 gRPC 的消息格式进行了压缩,同时利用 Multi-Raft