单机版MaxScale工作正常。我使用这个link来测试它。但是当我使用Maxscale运行Spring Boot Data JPA时,SELECT查询会发送到Master。我观察了很长时间,发现Spring数据启动了事务。启用事务时,Maxscale将查询发送到Master。我在MaxScale上配置了readwrite和read only服务,尝试使用Spring的"RoutingDataSource“。但这并没有解决问题。
发布于 2021-01-04 20:30:10
默认情况下,readwritesplit会将所有非只读事务路由到当前master。这样做是因为不可能知道事务是否会修改数据库。如果事务是通过START TRANSACTION READ ONLY启动的,则事务将被路由到从站。
即使事务不是通过START TRANSACTION READ ONLY启动的,您也可以启用optimistic_trx将事务路由到从服务器。请注意,这将减慢执行写操作的事务的执行速度,因为当检测到第一次写操作时,它们最初被发送到从设备,并被移动到主设备。
https://stackoverflow.com/questions/65561585
复制相似问题