proxy_primary_zone_name作用

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】proxy_primary_zone_name作用
【复现路径】问题出现前后相关操作

1 个赞

proxy_primary_zone_nameODP(obproxy)中用于选择集群主副本优先访问 Zone 的配置项
它的作用是 让 ODP 在路由请求时优先选择某个 Primary Zone 的副本,保证访问稳定性、性能一致性,并减少跨机房/跨 Zone 跳转。

:white_check_mark: 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 访问路径做“强制偏好”设置。

:white_check_mark: 2. 控制 ODP 路由行为,减少跨地域访问延迟

如果你的 Zone 位于不同地域(如异地多活机房):

  • 将 ODP 部署在华东
  • OceanBase 有 zone1(华东)、zone2(华南)、zone3(华北)

你把 ODP 配置成:

proxy_primary_zone_name = zone1

那么:

  • 业务 SQL 都优先打到华东的 zone1 leader
  • 避免跨地域延迟

:white_check_mark: 3. 在多副本、leader 频繁切换场景提升路由稳定性

没有设置此参数时:

  • ODP 完全根据 rootservice 返回的 leader 位置动态选择
  • leader 迁移或负载均衡会导致路由频繁变化

设置了 proxy_primary_zone_name 后:

  • ODP 优先路由到指定 zone
  • leader 在该 zone 内的变动不会影响整体访问路径
  • 帮助保持稳定性

:white_check_mark: 4. 配置租户级 primary zone 时的配套项

在租户级你可能会设置:

primary_zone = 'zone1, zone2'

但 ODP 端仍可使用 proxy_primary_zone_name 进一步限制访问偏好:

  • 租户告诉集群“leader 优先在 zone1”
  • ODP 告诉转发层“我也只想访问 zone1”

两者配合,访问路径更稳定。

1 个赞