设置 odp proxy 策略 proxy_primary_zone_name为zone2
primary_zone 为(zone1;zone2,zone3)
连接此odp执行更新 是不是先路由到zone2 然后再从zone2发送请求到zone1
odp有个配置项enable_reroute 默认是关闭的
这个配置项是控制是否开启二次路由,对于上述的更新场景是不是没作用的
设置 odp proxy 策略 proxy_primary_zone_name为zone2
primary_zone 为(zone1;zone2,zone3)
连接此odp执行更新 是不是先路由到zone2 然后再从zone2发送请求到zone1
odp有个配置项enable_reroute 默认是关闭的
这个配置项是控制是否开启二次路由,对于上述的更新场景是不是没作用的
不起作用,制定了proxy的primary_zone之后默认把请求发送到zone2
您好,您提到的问题似乎与 OceanBase 没有关联,我无法回答,敬请谅解! 如果您有其他 OceanBase 相关问题,欢迎继续提问。
下面是使用 Primary Zone 的两种方法,按需选择
注意:proxy_primary_zone_name 优先级高于 OceanBase 集群的 Primary Zone,proxy_primary_zone_name 值非空时,OceanBase 集群 Primary Zone 路由失效
举例1:
EXPLAIN ROUTE SELECT /* +READ_CONSISTENCY(STRONG) */ 1\G
举例2
使用集群 Primary Zone
–集群部署
zone1(11)
zone2(12)
zone3(13)
SELECT TENANT_NAME, PRIMARY_ZONE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME=‘mysql’\G
OceanBase(admin@test)>SELECT TENANT_NAME, PRIMARY_ZONE FROM oceanbase.DBA_OB_TENANTS WHERE TENANT_NAME=‘mysql’\G
*************************** 1. row ***************************
TENANT_NAME: mysql
PRIMARY_ZONE: z3;z1,z2
1 row in set (0.38 sec)
EXPLAIN ROUTE SELECT /* +READ_CONSISTENCY(STRONG) */ 1\G
对于上述的场景 没有作用
这个在官网有说明
配置项 proxy_primary_zone_name
优先级高于 OceanBase 集群的 Primary Zone,proxy_primary_zone_name
值非空时,OceanBase 集群 Primary Zone 路由失效。如果主副本在zone1,就会产生远程执行计划
enable_reroute是二次路由与这个无关
enable_reroute
老师 麻烦问一下 这个参数的二次路由功能一般是用在什么场景下
根据文档库中的信息,enable_reroute
参数的二次路由功能主要用于以下场景:
enable_reroute
参数后,ODP 可以尝试将请求重新路由到包含主副本的 Zone,从而减少 Remote 计划的发生,提升性能。enable_reroute
后,ODP 可以动态调整请求的路由策略,尽量将请求发送到包含事务相关分区主副本的 Zone,减少跨 Zone 的通信。enable_reroute
后,ODP 可以根据当前请求的负载、网络状态和副本位置,动态调整路由策略,优先选择本地 Zone 或低延迟的 Zone。enable_reroute
后,ODP 可以在检测到 Leader 切换后,自动调整路由策略,将请求重新路由到新的 Leader 副本所在的 Zone。enable_reroute
参数默认是关闭的(False)。如果启用该参数,可能会增加 ODP 的计算开销,因此需要根据实际业务场景权衡性能收益和资源消耗。proxy_primary_zone_name
和 primary_zone
)一起使用,以进一步优化路由策略。上述内容综合了以下文档片段的信息:
如果您有更多具体场景或需求,可以进一步讨论!
详情请参考: