10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册摘录

18.7.6.1驱逐超时

你可以使用group_replication_member_expel_timeoutsystem变量,它可以从MySQL 8.0.13中获得,允许在创建怀疑成员和驱逐怀疑成员之间有额外的时间。如前所述,当一个服务器没有从另一个服务器接收消息时,就会产生怀疑第18.1.4.2节,“故障检测”

在组复制组成员对其他成员(或其本身)产生怀疑之前,有一个初始的5秒检测周期。然后,当另一个成员怀疑他(或他自己怀疑自己)的时间过去时,一个成员就会被开除。在此之后,在驱逐机制检测并实现驱逐之前,可能还会经过一段较短的时间。group_replication_member_expel_timeout指定组成员在创建怀疑和驱逐怀疑成员之间等待的时间(以秒为单位),称为驱逐超时。可疑成员被列在遥不可及的在此等待期间,但不会从组成员列表中删除。

  • 如果一个可疑成员在等待期结束时可疑成员超时之前再次激活,该成员将应用XCom消息缓存中其余组成员缓冲的所有消息并进入在线国家,没有操作员的干预。在这种情况下,组将成员视为相同的化身。

  • 如果嫌疑成员只有在嫌疑超时并能够恢复通信之后才变得活跃,那么它将收到一个视图,在该视图中它将被驱逐,并在此时意识到它已被驱逐。你可以使用group_replication_autorejoin_tries系统变量,可以从MySQL 8.0.16中获得,使成员在此时自动尝试重新加入组。从MySQL 8.0.21开始,这个特性被默认激活,成员会进行三次自动重新加入尝试。如果自动重新连接过程没有成功或没有尝试,则被逐出的成员将执行由group_replication_exit_state_action

驱逐成员之前的候诊期仅适用于此前在本集团中处于活动状态的成员。在本集团中从未有效的非成员不会获得此等待期,并且在初始检测期后被删除,因为它们需要太长而且加入。

如果group_replication_member_expel_timeout设置为0,没有等待期,5秒检测期结束后,有嫌疑的成员将立即被开除。这个设置是MySQL 8.0.20的默认设置。这也是一个群组成员的行为,它是在MySQL服务器版本不支持group_replication_member_expel_timeout系统变量。从MySQL 8.0.21开始,该值默认为5,这意味着在5秒的检测周期后5秒,一个可疑成员将被驱逐。并不是强制性要求一个团体的所有成员都有相同的设置group_replication_member_expel_timeout,但建议以避免意外开除。任何成员都可以创建任何其他成员的疑似,包括本身,因此有效的Expel超时是具有最低设置的成员的超时。

考虑增加的价值group_replication_member_expel_timeout从以下场景默认:

  • 网络速度很慢,默认的5秒或10秒的时间不足以让群组成员总是交换至少一条信息。

  • 网络有时会暂时中断,您希望在这些时候避免不必要的排除和主要成员更改。

  • 网络并不在你的直接控制之下,你需要尽量减少操作员的干预。

  • 预计会有一个临时的网络中断,你不希望一些或所有的成员因此而被开除。

  • 一个单独的机器正在经历一个减速,你不希望它被逐出组。

可以指定最大3600秒(1小时)的驱逐超时。我们必须确保《XCom》的消息缓存足够大,能够在指定的时间段内包含预期的消息量,再加上最初的5秒检测时间,否则成员将无法重新连接。参数可以调整缓存大小限制group_replication_message_cache_size系统变量。有关更多信息,请参见第18.7.5节,“XCom缓存管理”

如果某个组中的任何成员目前处于怀疑状态,则不能重新配置组成员(通过添加或删除成员或选举新领导人)。如果需要在怀疑一个或多个成员时实现组成员更改,并且希望怀疑成员留在组中,如果可能的话,请采取任何必要的行动使成员重新激活。如果你不能让成员再次活跃起来,你希望他们被开除,你可以迫使他们立即停止怀疑。通过改变?的值来做到这一点group_replication_member_expel_timeout对任何活跃成员的估值低于怀疑产生以来已经过去的时间。这些被怀疑的成员将立即被开除。

如果复制组成员意外停止并立即重新启动(例如,因为它是用mysqld_safe.),则自动尝试重新加入组group_replication_start_on_boot =对是集。在这种情况下,重启和重新加入尝试可能在成员的前一个化身被逐出组之前发生,在这种情况下成员不能重新加入。从MySQL 8.0.19开始,组复制自动使用组通信系统(GCS)特性为成员重试重新加入尝试10次,每次重试之间间隔5秒。这应该涵盖大多数情况,并允许有足够的时间将前一个化身驱逐出群组,让成员重新加入。注意,如果group_replication_member_expel_timeout系统变量设置为在成员被逐出之前的较长等待时间,则自动重新加入尝试可能仍然无法成功。

有关替代缓解策略,以避免不必要的驱逐group_replication_member_expel_timeout系统变量不可用,请参阅第18.3.2节,“组复制限制”