我想使用 AutoScaling 组在 ec2 中创建一个由 3 个 Percona Xtradb+应用程序服务器组成的集群,这样如果某个服务器由于某种原因出现故障,它可以被关闭,然后 ASG 将重新启动服务器,从其他 2 个获取所有当前数据工作服务器。
因此,为了实现这一点,我创建了 3 个实例(A、B 和 C),并在初始启动实例 A 测试实例 B 和 C 的端口 4567,如果其中任何一个端口打开,Xtradb 将以正确的wsrep_cluster
设置启动, SST 是从正在运行的实例中获取的。
如果该端口在两个实例上都关闭,则 A 开始,wsrep_cluster=gcomm://
因此它成为集群的“起点”,认为实例 B 和 C 根本就没有启动,等待它们稍后连接。
问题是,如果实例 B 和 C 正在运行,但 A 在启动时无法连接到它们,就会发生“脑裂”。我该如何避免这种情况?