参数group_replication_consistency共 5 个值可选:
1. EVENTUAL:确保最终一致性,并不能保证数据实时同步。(MySQL 8.0.14 之前只有这一个选项)
优点:可以快速返回本节点已经成功应用的数据,不用等待所有的数据应用完成。
缺点:可能返回的数据比较旧。
2. BEFORE:确保本地强一致性,并不保证其他节点数据实时同步。
这类选项代表保证本地节点强一致性。也就是说设置为此选项的本地节点必须要等待中继日志数据全部应用完成后,才会执行新的请求,否则会一直等待。等待的时间和中继日志里未应用的事务量成一定比率.
优点:优先保证了本地节点永远读取到最新的数据。
缺点:必须煎熬等待本地节点中继日志里未应用的数据正常应用。如果日志里有很多写的不好的事务块或者大事务,则会造成本节点很大的延迟
3. AFTER:确保全局强一致性,可以保证所有节点数据实时同步。
这类选项代表全局强一致性。设置为此模式的节点,必须等待集群内其他所有其他节点应用完自己中继日志里的事务,才能返回结果
优点:优先保证了集群内所有节点的数据一致性,
缺点:带来一个很大的性能问题:集群对外总的事务提交时间依赖于组内最慢的那个节点。如果最慢的节点遇到故障,那其他节点就必须等待超时回滚了
4. BEFORE_AND_AFTER:最高级别,确保本地强一致性,全局强一致性。结合 BEOFRE 和 AFTER 的特性。
5. BEFORE_ON_PRIMARY_FAILOVER:确保从节点晋升为主节点后的本地一致性。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?