# 18.7.3 单一共识领导者

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

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

  • 该组必须处于单主模式。

  • group_replication_paxos_single_leader系统变量必须设置为.使用默认设置离开,该行为被禁用。您必须完全重新启动复制组(引导程序),组复制才能获取对此设置的更改。

  • Group Replication 通信协议版本必须设置为 8.0.27 或更高版本。使用group_replication_get_communication_protocol()功能查看组的通信协议版本。如果正在使用较低版本,则该组无法使用此行为。您可以使用group_replication_set_communication_protocol()如果所有组成员都支持,则将组的通信协议设置为更高版本的功能。MySQL InnoDB Cluster 自动管理通信协议版本。有关详细信息,请参阅第 18.5.1.4 节,“设置组的通信协议版本”.

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

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