gpt4 book ai didi

MySQL InnoDB 集群实例要求

转载 作者:行者123 更新时间:2023-11-29 01:35:20 25 4
gpt4 key购买 nike

为什么MySQL InnoDB集群需要至少三个实例才能工作?为什么一主一辅实例还不够?例如,这不就是 SQL Server 故障转移群集的工作原理吗?

最佳答案

你和我正在树林里徒步旅行。我转身想和你说话,突然发现你不在。在那种情况下……我们当中哪一个人迷路了?是你吗?还是我?甚至可以定义吗?

如果一个节点非自愿失效,其余节点必须能够确认它们是否形成了幸存者的权威法定人数。否则,它们继续运行是不安全的,因为它们无法确认自己在集群中的角色。

节点数少于 3 个时,如果有一个节点丢失,则任何数量的剩余节点都不可能形成一个与故障前节点数的大多数(一半以上)大小相当的组发生了,因此幸存者的法定人数是不可能的。

对于 3 个节点,如果 1 个节点失败,其余节点仍占失败前节点数量的大多数,因为:

let n = 3
(n - 1) > (n × 50%) # true

从两个节点开始,一个节点的丢失使另一个节点不确定它是孤立的还是最后一个节点,并且无法确认这一点,因为:

let n = 2
(n - 1) > (n × 50%) # false

https://dev.mysql.com/doc/refman/8.0/en/group-replication-fault-tolerance.html

关于MySQL InnoDB 集群实例要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50892443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com