MySQL 8.3 Release Notes
组复制引擎(XCom,Paxos 变体)包括一个用于在组成员之间交换消息(及其元数据)的缓存,以便在一致协议中恢复遗漏的消息。当成员重新连接组时,缓存用于恢复遗漏的消息。
可以使用 group_replication_message_cache_size
系统变量设置 XCom 消息缓存的大小限制。如果达到缓存大小限制,XCom 将删除最旧的已决定和已交付的条目。所有组成员都应该设置相同的缓存大小限制,因为无法访问的成员在尝试重新连接时会随机选择其他成员来恢复遗漏的消息。
确保系统上有足够的内存来容纳所选择的缓存大小限制,考虑到 MySQL 服务器的其他缓存和对象池的大小。请注意,使用 group_replication_message_cache_size
设置的限制仅适用于缓存中的数据,而缓存结构需要额外的 50 MB 内存。
在选择 group_replication_message_cache_size
的值时,请考虑在成员被逐出之前的期望消息量。该期限由 group_replication_member_expel_timeout
系统变量控制,该变量确定了成员被逐出之前的等待期限(最长为一小时),该等待期限是在初始 5 秒检测期限之后的等待期限。默认情况下,成员不会被逐出,直到它已经缺席了至少 10 秒钟。