Group Replication 旨在创建具有内置故障检测和自动恢复功能的容错系统。如果成员服务器实例自愿离开或停止与组通信,则其余成员同意在他们之间重新配置组,并在需要时选择新的主服务器。被驱逐的成员会自动尝试重新加入该组,并通过分布式恢复进行更新。如果一个组遇到一定程度的困难,以至于它无法联系其大多数成员以就决定达成一致,则它会将自己标识为已失去法定人数并停止处理交易。Group Replication 还具有内置机制和设置,可帮助组适应和管理工作负载和消息大小的变化,
Group Replication 系统变量的默认设置旨在最大化组的性能和自治。本节中的信息旨在帮助您配置复制组以优化自动处理您在特定系统上遇到的任何重复出现的问题,例如瞬时网络中断或超出服务器实例资源的工作负载和事务。
如果您发现组成员被开除和重新加入组的频率比您希望的要高,则组复制的默认故障检测设置可能对您的系统过于敏感。这可能出现在较慢的网络或机器、意外瞬时中断发生率较高的网络或计划内的网络中断期间。有关通过调整设置来处理这种情况的建议,请参阅 第 18.7.7 节,“对故障检测和网络分区的响应”。
如果发生组无法自动处理的事情,您应该只需要手动干预组复制设置。一些可能需要管理员干预的关键问题是当成员处于ERROR
状态并且无法重新加入组时,或者当网络分区导致组失去法定人数时。
如果正常运行和配置的成员无法使用分布式恢复加入或重新加入组,并保持
ERROR
状态, 第 18.5.4.4 节,“分布式恢复的容错” 解释了可能的问题。一个可能的原因是加入成员有额外的交易,这些交易不存在于该组的现有成员上。有关处理这种情况的建议,请参阅 第 18.4.1 节,“GTID 和组复制”。如果一个组丢失了法定人数,这可能是由于网络分区将该组分成两部分,或者可能是由于大多数服务器出现故障。有关处理这种情况的建议,请参阅 第 18.7.8 节,“处理网络分区和仲裁丢失”。