欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/
即使用了只读副本和只读Zone的部署模式。读写分离部署时,不存在备优先读的路由策略,路由依赖系统变量 ob_route_policy。主要存在以下几种情况:
对于强一致性读语句,且 SQL 指定了表名,那么直接路由到该表涉及的分区的 Leader 的 OBServer 节点执行。
对于强一致性读语句,SQL 为"select 不指定表名/use database/set session 级别系统变量"时,忽略 Zone 属性,此时等同于常规部署下的主备均衡路由(默认)。
对于强一致性读语句,不包含登录认证请求,且去除 1 & 2 场景的请求,将按照以下策略进行路由:
相同 Region,相同 IDC,不在合并状态的读写 Zone 中的节点。
相同 Region,不同 IDC,不在合并状态的读写 Zone 中的节点。
相同 Region,相同 IDC,正在合并状态的读写 Zone 中的节点。
相同 Region,不同 IDC,正在合并状态的读写 Zone 中的节点。
不同 Region,不在合并状态的读写 Zone 中的节点。
不同 Region,正在合并状态的读写 Zone 中的节点。
只读 Zone 优先路由(默认)
对于弱一致性语句和登录认证请求,将根据系统变量 ob_route_policy 的不同取值进行路由。设置ob_route_policy = readonly_Zone_first(默认值)时,将按照以下策略进行路由:
相同 Region,相同IDC,不在合并状态的只读 Zone 中的节点。
相同 Region,不同IDC,不在合并状态的只读 Zone 中的节点。
相同 Region,相同IDC,正在合并状态的只读 Zone 中的节点。
相同 Region,不同IDC,正在合并状态的只读 Zone 中的节点。
相同 Region,相同IDC,不在合并状态的读写 Zone 中的节点。
相同 Region,不同IDC,不在合并状态的读写 Zone 中的节点。
相同 Region,相同IDC,正在合并状态的读写 Zone 中的节点。
相同 Region,不同IDC,正在合并状态的读写 Zone 中的节点。
不同 Region,不在合并状态的只读 Zone 中的节点。
不同 Region,正在合并状态的只读 Zone 中的节点。
不同 Region,不在合并状态的读写 Zone 中的节点。
不同 Region,正在合并状态的读写 Zone 中的节点。
仅发送到只读 Zone 的路由
设置 ob_route_policy = only_readonly_Zone 时,将按照以下策略进行路由:
相同 Region,相同 IDC,不在合并状态的只读 Zone 中的节点。
相同 Region,不同 IDC,不在合并状态的只读 Zone 中的节点。
相同 Region,相同 IDC,正在合并状态的只读 Zone 中的节点。
相同 Region,不同 IDC,正在合并状态的只读 Zone 中的节点。
不同 Region,不在合并状态的只读 Zone 中的节点。
不同 Region,正在合并状态的只读 Zone 中的节点。
不在合并状态的 Zone 优先路由
设置 ob_route_policy = unmerge_Zone_first 时,将按照以下策略进行路由:
相同 Region,相同 IDC,不在合并状态的只读 Zone 中的节点。
相同 Region,不同 IDC,不在合并状态的只读 Zone 中的节点。
相同 Region,相同 IDC,不在合并状态的读写 Zone 中的节点。
相同 Region,不同 IDC,不在合并状态的读写 Zone 中的节点。
相同 Region,相同 IDC,正在合并状态的只读 Zone 中的节点。
相同 Region,不同 IDC,正在合并状态的只读 Zone 中的节点。
相同 Region,相同 IDC,正在合并状态的读写 Zone 中的节点。
相同 Region,不同 IDC,正在合并状态的读写 Zone 中的节点。
不同 Region,不在合并状态的只读 Zone 中的节点。
不同 Region,不在合并状态的读写 Zone 中的节点。
不同 Region,正在合并状态的只读 Zone 中的节点。
不同 Region,正在合并状态的读写 Zone 中的节点。
欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/




