Documentation Home

18.7.3 单一共识领导者

默认情况下,组复制的组通信引擎(XCom,一种 Paxos 变体)使用复制组的每个成员作为领导者运行。从 MySQL 8.0.27 开始,当组处于单主模式时,组通信引擎可以使用单个领导者来驱动共识。与单个共识领导者一起运行可以提高单主模式下的性能和弹性,尤其是当该组的某些次要成员当前无法访问时。

要使用单个共识领导者,该组必须配置如下:

当此配置到位时,组复制指示组通信引擎使用组的主要作为单一领导者来推动共识。When a new primary is elected, Group Replication tells the group communication engine to use it instead. 如果主要成员当前不健康,则组通信引擎将使用替代成员作为共识领导者。Performance Schema 表 replication_group_communication_information 显示了当前首选和实际的共识领导者,首选领导者是 Group Replication 的选择,实际领导者是群组通信引擎选择的领导者。

如果该组处于多主模式,具有较低的通信协议版本,或者该行为被 group_replication_paxos_single_leader 设置禁用,则所有成员都被用作领导者以推动共识。在这种情况下,性能模式表 replication_group_communication_information 将所有成员显示为首选领导者和实际领导者。

WRITE_CONSENSUS_SINGLE_LEADER_CAPABLE Performance Schema 表 中 的字段replication_group_communication_information 显示该组是否支持使用单个领导者,即使 group_replication_paxos_single_leader 当前OFF在查询的成员上设置为。如果组启动时 group_replication_paxos_single_leader 设置为ON,并且其通信协议版本为 MySQL 8.0.27 或更高版本,则该字段设置为 1。此信息仅针对ONLINERECOVERING州的群组成员返回。