一、双主保证高可用
MySQL数据库集群常使用一主多从,主从同步,读写分离的方式来扩充数据库的读性能,保证读库的高可用,但此时写库仍然是单点。
在一个MySQL数据库集群中可以设置两个主库,并设置双向同步,以冗余写库的方式来保证写库的高可用。
二、并发引发不一致
数据冗余会引发数据的一致性问题,因为数据的同步有一个时间差,并发的写入可能导致数据同步失败,引起数据丢失:

如上图所述,假设主库使用了auto increment来作为自增主键:
两个MySQL-master设置双向同步可以用来保证主库的高可用
数据库中现存的记录主键是1,2,3
主库1插入了一条记录,主键为4,并向主库2同步数据
数据同步成功之前,主库2也插入了一条记录,由于数据还没有同步成功,插入记录生成的主键也为4,并向主库1也同步数据
主库1和主库2都插入了主键为4的记录,双主同步失
继续阅读与本文标签相同的文章
上一篇 :
CAS下ABA问题及优化方案 | 架构师之路
下一篇 :
Unity工程无代码化
-
一分钟了解索引技巧 | 架构师之路
2026-05-20栏目: 教程
-
了解Kubernetes
2026-05-20栏目: 教程
-
C++这么难,为什么还要学习C++呢?如何学?
2026-05-20栏目: 教程
-
1对多业务,数据库水平切分架构一次搞定 | 架构师之路
2026-05-20栏目: 教程
-
工作线程数究竟要设置为多少 | 架构师之路
2026-05-20栏目: 教程
