ODP 如何实现读写分离路由?
ODP 读写分离依赖两层判断:
-
第一层:区分强读还是弱读。 默认租户读一致性为强读,所有写请求和事务内读请求都走强一致性,路由到 Leader;开启
enable_read_write_split=true后,事务外的普通 SELECT 会被判定为弱读。 -
第二层:弱读请求路由到哪里。 通过
proxy_route_policy控制,例如FOLLOWER_FIRST优先路由到 Follower,FOLLOWER_ONLY只路由到 Follower,UNMERGE_FOLLOWER_FIRST优先路由到未合并的 Follower。
注意:事务内读必须走强一致性,否则可能读到 Follower 上的旧数据,导致业务逻辑错误。