创建租户为什么要指定LOCALITY?

【 使用环境 】测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.3.5.5
【问题描述】在创建资源池时就有指定ZONE_LIST,为什么在创建租户时还要再指定LOCALITY?

2 个赞

@论坛小助手

在创建租户时指定 LOCALITY 的原因是为了更细粒度地控制租户的副本分布策略。即使在创建资源池时已经指定了 ZONE_LIST,这仅仅定义了资源池所在的 Zone。而 LOCALITY 参数允许您指定每个 Zone 上的副本分布策略,例如每个 Zone 上的副本数量和类型。这对于高可用性和数据分布策略非常重要。具体的配置示例可以参考以下 SQL 语句:

CREATE TENANT sysbench_tenant resource_pool_list=('sysbench_pool'),  zone_list('zone1', 'zone2', 'zone3'), primary_zone=RANDOM, locality='F@zone1,F@zone2,F@zone3' set variables ob_compatibility_mode='mysql', ob_tcp_invited_nodes='%';

在这段 SQL 中,locality='F@zone1,F@zone2,F@zone3' 指定了每个 Zone 上的一个全功能副本。

检索到的文档如下:

  1. 进行 Sysbench 测试
  2. 租户的资源管理
  3. 将资源池分配给租户

副本的分布位置,是必选项