MySQL 数据库脑裂是什么?怎么避免?
脑裂(Split Brain):高可用集群中因网络分区/心跳异常,多个节点都认为自己是主(可写),导致双主写、数据分叉、恢复时数据不一致。常见场景:主从/双主心跳超时后从库被提升,原主网络恢复又继续写。避免手段:① 仲裁机制:第三方仲裁(VIP 存活探测、仲裁节点)少数服从多数(quorum)——多数派才有权当主;② MGR 组复制:Paxos 多数派协议天然防脑裂(少数派只读/拒写);③ 半同步复制:新主确认收到数据再切换(防丢+防分裂);④ 隔离(fencing):确认旧主不可用(STONITH 断电/iptables 拒绝)再提升;⑤ 应用层:写入口收敛(VIP/ProxySQL 单点控制)。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。