标签: Maxscale
读写分离后为什么会读到旧数据:MaxScale 的一致性读
问题 读写分离最容易让人困惑的一幕是:写请求已经返回成功,紧接着发起查询,却没有看到刚写入的数据。这里不一定是事务没有提交,而是写落在主库后,读被路由到了尚未追上复制进度的副本。 那么,有什么办法可以解决这个问题呢?那就是本文要分析的 MaxScale,它解决了这个问题。 MaxScale 的解决方案 MaxScale 的一致性读思路是把“这次写已经产生到哪里”的 GTID 获取到,再让之后的读请求以这个位置为边界:要么等待只读节点追上,要么直接选择已经追上的只读节点。 源码中将因果读(就是一致 …
问题 读写分离最容易让人困惑的一幕是:写请求已经返回成功,紧接着发起查询,却没有看到刚写入的数据。这里不一定是事务没有提交,而是写落在主库后,读被路由到了尚未追上复制进度的副本。 那么,有什么办法可以解决这个问题呢?那就是本文要分析的 MaxScale,它解决了这个问题。 MaxScale 的解决方案 MaxScale 的一致性读思路是把“这次写已经产生到哪里”的 GTID 获取到,再让之后的读请求以这个位置为边界:要么等待只读节点追上,要么直接选择已经追上的只读节点。 源码中将因果读(就是一致 …
MaxScale不支持MySQL8.0的问题
本文由原作者归档自 CSDN,原文发布于 2022-01-19。原文链接:MaxScale不支持MySQL8.0的问题。 背景 mysql的版本是8.0.12,通过maxsclae进行读写分离时,业务端使用mysql-connctor-java-8.0.15.jar访问一直报错。 现象 使用mysql-connctor-java-8.0.15.jar连接mysql 读写分离时,报错,内容如下: 使用mysql-cli直连mysql不报错,但是版本号有问题 使用mariadb-cli直连 …
本文由原作者归档自 CSDN,原文发布于 2022-01-19。原文链接:MaxScale不支持MySQL8.0的问题。 背景 mysql的版本是8.0.12,通过maxsclae进行读写分离时,业务端使用mysql-connctor-java-8.0.15.jar访问一直报错。 现象 使用mysql-connctor-java-8.0.15.jar连接mysql 读写分离时,报错,内容如下: 使用mysql-cli直连mysql不报错,但是版本号有问题 使用mariadb-cli直连 …