MGR中如果发生网络分区,怎么解决,MGR有预防脑裂的方案...
1.单主模式下,我们假设3个节点,其中两个节点的心跳网络断开,那么主节点的的写操作会阻塞。这时候,我们重启另外两个节点,他们之间的网络互通,阻隔Primary的网络,出现分区,这时候就出现了脑裂,请问怎么预防?2.多主模式下,3个节点的心跳网络都出现分区,这种情况下,写操作会阻塞,也就没有脑裂的问题。
以上我的理解不知道正不正确,请大佬解惑指正。
1.单主模式下,我们假设3个节点,其中两个节点的心跳网络断开,那么主节点的的写操作会阻塞。这时候,我们重启另外两个节点,他们之间的网络互通,阻隔Primary的网络,出现分区,这时候就出现了脑裂,请问怎么预防?
===
"其中两个节点的心跳网络断开",具体指哪2个节点断开?
如果是2个从节点断开,那么产生网络分区后,主节点变成少数派自然就不可用了
如果是一主A一从B节点断开,且AB之间还能通信,那这时主节点应该还可以正常读写的,因为它俩形成多数派 关于故障检测及网络分区,请详细阅读这个系列文章 https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/deep-dive-mgr/deep-dive-mgr-15.md
页:
[1]