首批通过分布式安全可靠测评,为关键业务系统打造
sql hint 级别弱读路由到 leader 副本
更新时间:2025-09-09 08:22
问题现象
用户在 SQL 级别上加了 /+read_consistency(weak)/ ,并且登录的时候加了-c ,发现弱读的请求会路由到 Leader 节点。具体查询如下:
租户 priamry_zone


测试表 leader 分布


问题原因
OBProxy 使用的默认的主备均衡路由。
适用版本
OBProxy 所有版本。
解决方法
OBProxy 对应的 proxy_route_policy 配置默认为空,表示使用的是主备均衡路由,弱读请求可以路由到 Leader 副本读取,也可以路由到 Follower 副本读取,流量按照副本均匀分配。

如果想弱读度请求优先读 Follower 副本,可以设置备优先读策略,具体方式如下:
使用 obproxy 连接登录集群,执行以下语句:
obclient> ALTER PROXYCONFIG SET proxy_route_policy='follower_first';