众所周知,数据库在多中心场景下,主中心主库不仅要承担原本业务的压力,而且还要将redo日志传输到不同的备库端,这样对主库将产生很大的性能影响。通常情况下,备中心和主中心不在同⼀机房,为了保证业务响应速度,主中心主节点和备中心各主节点之间的复制流通常是异步的,当主中心发生故障时,主备中心的数据⼀致性就无法保证。

通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb

图1:高可用集群双中心常规架构图

为了解决上面两个问题,AntDB数据库引入UltraSync,在UltraSync环境中,传输日志的压力大部分由UltraSync实例承担,而主节点只需要把wal⽇志传输到距离较近的UltraSync实例,这样将在很大程度上减轻主节点的负担,提升业务系统的性能。UltraSync是⼀个轻量级的AntDB实例,⼀个只同步WAL⽇志,⽽不做redo的轻量级“同步备库”。

         

通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_02

图2:高可用集群双中心UltraSync架构图

今天,我们将通过AntDBUltraSync的部署使用过程,切实感受UltraSync是如何减轻主节点负担,提升业务系统性能的。

一、环境配置

本次部署单中心高可用UltraSync集群

IP

操作系统

CPU

内存

角色

192.168.37.130

BC Euler 21

2C

2GB

master

192.168.37.131

BC Euler 21

2C

2GB

slave

192.168.37.132

BC Euler 21

2C

2GB

UltraSync

二、UltraSync部署

使用AntDB的一键部署,部署一个3节点的高可用集群

1).创建用户


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_03


2).修改用户密码


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_04

更改用户 antdb 的密码

新的密码:

重新输入新的密码:

passwd:所有的身份验证令牌已经成功更新


3). 将安装包(antdb-t-ee-release-7.2.16.generic.x86_64.tar.gz)拷贝到/home/antdb目录下,并修改该安装包的权限


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_网络_05


4).切换到antdb用户,并解压


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_网络_06


5).进入到软件包目录,安装软件


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_服务器_07


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_服务器_08



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_数据库_09



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_10


6).编辑初始化配置文件


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_11


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_网络_12



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_13



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_数据库_14


7).进行初始化


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_15

通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_服务器_16


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_服务器_17


出现[Info] AntDB init succeeds,则高可用集群部署成功。


8).停止准备部署fay sync角色节点的patroni(192.168.37.132)


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_18


9).编辑目前高可用集群配置


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_19


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_20


10).编辑patroni配置文件(192.168.37.132)


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_21

通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_网络_22



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_网络_23


将数据目录清空


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_24


11).启动patroni(192.168.37.132)


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_25

12).查看集群状态



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_数据库_26


至此,UltraSync部署完成。

三、UltraSync使用验证

1.停止sync备库(将192.168.37.131的sync备库停止)



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_数据库_27


在leader测试数据,能正常执行,对外提供服务。



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_网络_28


2.启动sync备库(将192.168.37.131的sync备库启动),然后将leader主库停止(将192.168.37.130的leader主库停止)


此时同步备库提升为了主库。



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_29


查看前面插入的数据,数据正常



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_网络_30


插入数据,正常。



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_31


3.高可用切换测试


将192.168.37.130的patroni启动恢复,查看当前的集群状态



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_服务器_32


执行切换


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb数据库_33


通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_数据库_34


再次查看状态,此时切换成功



通过UltraSync减轻主节点负担、提升业务系统性能,AntDB如何做到?_antdb_35

四、总结

通过AntDB UltraSync的部署使用,我们发现UltraSync的引入能够极大缓解主库的压力,同时对服务器资源的需求也少了很多(只是用作接收wal日志,有存储需求,对内存,CPU需求大大降低),在实际生产环境中,能大大节省服务器的成本支出。

关于AntDB数据库

AntDB数据库始于2008年,在运营商的核心系统上,为全国24个省份的10亿多用户提供在线服务,具备高性能、弹性扩展、高可靠等产品特性,峰值每秒可处理百万笔通信核心交易,保障系统持续稳定运行近十年,并在通信、金融、交通、能源、物联网等行业成功商用落地。