作为金融场景下不可或缺的数据强一致性的保障。我们将从四个方面来聊一聊数据一致性的保障:
1.主备数据复制方式
2.数据复制比较:TDSQL主备数据复制方案 VS MySQL原生方案
3.核心功能:容灾切换,数据强一致、0丢失0出错
4.数据强一致性
TDSQL主备数据复制:高性能强同步
首先在讲数据一致性之前,我们先了解一下MySQL原生的数据复制的方式。
首先第一种是异步复制:主机在不等从机应答直接返回客户端成功。这个在金融场景是不能接受的,这样的话相当于数据是没有多副本保障。
第二种是半同步:主机在一定条件下等备机应答,如果等不到备机应答,它还是会返回业务成功,也就是说它最终还会退化成一个异步的方式,这同样也是金融场景所不能接受的。
除此之外,原生半同步其实是有一个性能方面的缺陷,即在跨IDC网络抖动的场景下,请求毛刺现象很严重。所以原生的异步复制和半同步复制都存在一些问题,并不能完全适应金融场景。
TDSQL引入了基于raft协议的强同步复制,主机接收到业务请求后,等待其中一个备机应答成功后才返回客户端成功。我们一主两备下一条业务请求到达了主机之后必须等其中一个备机应答成功,才能返回客户端成功,否则这个请求是不会应答的。所以说,强同步是TDSQL最基础的一个特性,是TDSQL保证数据不会丢、不会错的关