一 背景:当在读节点多成员查询时可能导致数据不一致
二 三种场景
1 读多写少 AFTER
2 读写相当 AFTER_AND_BEFORE
3 读少写多 BEFORE
三 数据不一致影响因素
在单主模式下,影响单主的只能是binlog的并行回放速度
这里会衍生出两个数据不一致问题
1 从库本身应用事务导致的读不一致问题 (数据的最新性)
2 从库与其他从库的应用binlog速度导致数据不一致问题 (数据的一致性)
四 8.0.14参数 group_replication_consistenc
1 VALUE值
before RW事务在应用之前等待所有前面的事务完成,RO事务在执行之前等待所有前面的事务完成.保证数据的最新有效性
after RW事物在每个成员都执行完成才会进行,保住每个成员的应用进度统一,数据的一致性
before and after 1 所有之前的事务在被应用之前完成 2 直到它的更改被应用于其他成员 就是之前两者的结合
before_on_primary_failover 此参数代表在发生故障转移时,新查询会被阻塞,直到之前的事务处理完成
2 须知
1 变量本身分为session级别和global级别
2 默认情况下参数并不生效
五 本文资料来源于3306π社区和官网文档,结合自己理解写出的,并不保证正确,随时可能会修改