17.3.1 组 Replication Server 状态

服务器实例可以处于多种状态。如果服务器正常通信,则所有服务器均报告所有服务器相同的状态。但是,如果存在网络分区或服务器离开该组,则可能会报告不同的信息,具体取决于要查询的服务器。如果服务器已离开该组,则它无法报告有关其他服务器状态的更新信息。如果存在一个分区,导致仲裁丢失,则服务器将无法在它们之间进行协调。结果,他们无法猜测不同服务器的状态。因此,他们没有猜测它们的状态,而是报告某些服务器不可达。

table17.1 服务器状态

FieldDescriptionGroup Synchronized
ONLINE该成员随时可以充当功能齐全的组成员,这意味着 Client 端可以连接并开始执行事务。Yes
RECOVERING该成员正在成为该组的活跃成员,并且正在接受恢复过程,正在从捐助者那里接收状态信息。No
OFFLINE插件已加载,但成员不属于任何组。No
ERROR成员的状态。每当恢复阶段发生错误或应用更改时,服务器就会进入此状态。No
UNREACHABLE每当本地故障检测器怀疑给定服务器无法访问时(例如由于非自愿断开连接),它将显示该服务器的状态为UNREACHABLENo

Important

实例进入ERROR状态后,super_read_only选项将设置为ON。要保持ERROR状态,您必须使用super_read_only=OFF手动配置实例。

请注意,组复制不是*同步的,而是最终同步的。更确切地说,事务以相同的 Sequences 交付给所有组成员,但是它们的执行不同步,这意味着在接受了要提交的事务之后,每个成员都按照自己的进度进行事务。