【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】proxy_primary_zone_name作用
【复现路径】问题出现前后相关操作
1 个赞
proxy_primary_zone_name 是 ODP(obproxy)中用于选择集群主副本优先访问 Zone 的配置项。
它的作用是 让 ODP 在路由请求时优先选择某个 Primary Zone 的副本,保证访问稳定性、性能一致性,并减少跨机房/跨 Zone 跳转。
proxy_primary_zone_name 的主要作用
1. 指定 ODP 访问 OceanBase 的首选 Primary Zone
OceanBase 集群的 leader(主副本)分布是按 Zone 设置的,例如:
zone1, zone2, zone3
如果你设置:
proxy_primary_zone_name = zone1
那么:
- ODP 进行路由时,会优先选择 zone1 的 leader 副本
- 当 zone1 不可用时,再按照租户 zone 优先级 fallback 到其他 zone
它相当于给整个集群的 Primary 访问路径做“强制偏好”设置。
2. 控制 ODP 路由行为,减少跨地域访问延迟
如果你的 Zone 位于不同地域(如异地多活机房):
- 将 ODP 部署在华东
- OceanBase 有 zone1(华东)、zone2(华南)、zone3(华北)
你把 ODP 配置成:
proxy_primary_zone_name = zone1
那么:
- 业务 SQL 都优先打到华东的 zone1 leader
- 避免跨地域延迟
3. 在多副本、leader 频繁切换场景提升路由稳定性
没有设置此参数时:
- ODP 完全根据 rootservice 返回的 leader 位置动态选择
- leader 迁移或负载均衡会导致路由频繁变化
设置了 proxy_primary_zone_name 后:
- ODP 优先路由到指定 zone
- leader 在该 zone 内的变动不会影响整体访问路径
- 帮助保持稳定性
4. 配置租户级 primary zone 时的配套项
在租户级你可能会设置:
primary_zone = 'zone1, zone2'
但 ODP 端仍可使用 proxy_primary_zone_name 进一步限制访问偏好:
- 租户告诉集群“leader 优先在 zone1”
- ODP 告诉转发层“我也只想访问 zone1”
两者配合,访问路径更稳定。
1 个赞