0

独立 MaxScale 工作正常。我用这个链接来测试它。但是当我使用 Maxscale 运行 Spring Boot Data JPA 时,SELECT 查询正在发送到 Master。我观察了很久,发现Spring数据启动事务。Maxscale 在启用事务时向 Master 发送查询。我通过在 MaxScale 上配置读写和只读服务来尝试使用 Spring“RoutingDataSource”。但这并没有解决问题。

4

1 回答 1

0

默认情况下,readwritesplit 会将所有非只读事务路由到当前主控。这样做是因为不可能知道事务是否会修改数据库。如果事务以 开始START TRANSACTION READ ONLY,事务将被路由到从站。

您可以启用optimistic_trx将事务路由到从属设备,即使它们不是以START TRANSACTION READ ONLY. 请注意,这将减慢执行写操作的事务的执行,因为它们最初被发送到从属设备并在检测到第一次写入时移动到主设备。

于 2021-01-04T12:30:09.997 回答