Proxy 连接池中的maxscale主从有效连接检查

Proxy 连接池中的maxscale主从有效连接检查,proxy,mariadb,replication,maxscale,Proxy,Mariadb,Replication,Maxscale,目前,主从复制已完成,并且使用maxscale的readwritesplit函数对select和insert进行分支 我使用的是common dbcp,并通过数据源配置使用testOnBorrow和validationQuery选项检查连接,但由于查询是通过maxscale传输的,validationQuery的select 1仅传输到从属服务器,无法检查主服务器的连接有效性 主机不会检查连接的有效性,因此如果您在长时间不使用WAS后进行连接,则会发生与db连接相关的错误 要解决这个问题, 我用

目前,主从复制已完成,并且使用maxscale的readwritesplit函数对select和insert进行分支

我使用的是common dbcp,并通过数据源配置使用testOnBorrow和validationQuery选项检查连接,但由于查询是通过maxscale传输的,validationQuery的select 1仅传输到从属服务器,无法检查主服务器的连接有效性

主机不会检查连接的有效性,因此如果您在长时间不使用WAS后进行连接,则会发生与db连接相关的错误

要解决这个问题, 我用master_accept_reads=true, 但我不想使用它,因为它将为主机生成更多流量。 作为另一个选项persistpoolmax,persistmaxtime 我用过,但我得到了同样的错误信息

我想知道是否有一种方法可以发送连接验证查询,例如maxscale或mariadb中的ValidationQuery,而不区分主从


感谢您阅读长文本。

您可以使用提示过滤器将查询路由到主机


提示过滤器被理解为无条件地向主设备发送查询,以在主设备-从设备中存在复制延迟时,在特定插入之后立即执行选择,以返回最新数据。当执行名为select 1的查询时,我想向两个主从机发送一个查询,但我找不到是否可以对其进行筛选。