集群分片

语法
CLUSTER SHARDS
从以下位置开始可用:
7.0.0
时间复杂度:
O(N),其中 N 是群集节点的总数
ACL 类别:
@slow,

CLUSTER SHARDS返回有关集群分片的详细信息。 分片定义为为同一组槽提供服务并相互复制的节点集合。 一个分片在给定时间可能只有一个主节点,但可能有多个副本或没有副本。 分片可能在仍具有副本的情况下不提供任何槽。

此命令将CLUSTER SLOTS命令,通过提供更高效、可扩展的集群表示形式。

该命令适合 Redis 集群客户端库使用,以便了解集群的拓扑。 客户端应在启动时发出此命令,以便检索将集群哈希槽与实际节点信息相关联的映射。 此映射应用于将命令定向到可能为与给定命令关联的插槽提供服务的节点。 如果命令发送到错误的节点,因为它收到了“-MOVED”重定向,则此命令可用于更新集群的拓扑。

该命令返回一个分片数组,每个分片包含两个字段,即“slots”和“nodes”。

'slots' 字段是此分片提供的槽范围列表,存储为一对整数,表示范围的起始槽和结束槽。 例如,如果一个节点拥有插槽 1、2、3、5、7、8 和 9,则插槽范围将存储为 [1-3]、[5-5]、[7-9]。 因此,slots 字段将由以下整数列表表示。

1) 1) "slots"
   2) 1) (integer) 1
      2) (integer) 3
      3) (integer) 5
      4) (integer) 5
      5) (integer) 7
      6) (integer) 9

'nodes' 字段包含分片中所有节点的列表。 每个单独的节点都是描述节点的属性映射。 某些属性是可选的,将来可能会添加更多属性。 当前属性列表:

  • id:此特定节点的唯一节点 ID。
  • endpoint:到达节点的首选终端节点,有关此字段的可能值的更多信息,请参阅下文。
  • ip:要向此节点发送请求的 IP 地址。
  • hostname (可选):为此节点发送请求的公告主机名。
  • port (可选):节点的 TCP (非 TLS) 端口。至少将存在 port 或 tls-port 之一。
  • tls-port (可选):节点的 TLS 端口。至少将存在 port 或 tls-port 之一。
  • role:此节点的复制角色。
  • replication-offset:该节点的复制偏移量。此信息可用于将命令发送到最新的副本。
  • health:要么online,failedloading.此信息应用于确定应向哪些节点发送流量。这loadinghealth 状态应该用于了解节点当前不符合提供流量的条件,但将来可能符合条件。

终端节点与端口一起定义客户端用于发送给定槽请求的位置。 终端节点的 NULL 值表示该节点具有未知终端节点,并且客户端应连接到它用于发送CLUSTER SHARDS命令,但使用从命令返回的端口。 当 Redis 节点位于 Redis 不知道其终端节点的负载均衡器后面时,这种未知的终端节点配置非常有用。 设置哪个端点由cluster-preferred-endpoint-typeconfig。 空字符串是 endpoint 字段以及 ip 字段的另一个异常值,如果节点不知道自己的 IP 地址,则会返回该值。 这可能发生在仅包含一个节点的集群中,或者该节点尚未与集群的其余部分联接。 价值""?如果节点被错误地配置为使用公布的主机名,但未使用cluster-announce-hostname. 客户端可以采用与 NULL 相同的方式处理空字符串,即用于将当前命令发送到的相同端点,而"?"应被视为未知节点,而不一定与提供当前命令的节点相同。

例子

> CLUSTER SHARDS
1) 1) "slots"
   2) 1) (integer) 0
      2) (integer) 5460
   3) "nodes"
   4) 1)  1) "id"
          2) "e10b7051d6bf2d5febd39a2be297bbaea6084111"
          3) "port"
          4) (integer) 30001
          5) "ip"
          6) "127.0.0.1"
          7) "endpoint"
          8) "127.0.0.1"
          9) "role"
         10) "master"
         11) "replication-offset"
         12) (integer) 72156
         13) "health"
         14) "online"
      2)  1) "id"
          2) "1901f5962d865341e81c85f9f596b1e7160c35ce"
          3) "port"
          4) (integer) 30006
          5) "ip"
          6) "127.0.0.1"
          7) "endpoint"
          8) "127.0.0.1"
          9) "role"
         10) "replica"
         11) "replication-offset"
         12) (integer) 72156
         13) "health"
         14) "online"
2) 1) "slots"
   2) 1) (integer) 10923
      2) (integer) 16383
   3) "nodes"
   4) 1)  1) "id"
          2) "fd20502fe1b32fc32c15b69b0a9537551f162f1f"
          3) "port"
          4) (integer) 30003
          5) "ip"
          6) "127.0.0.1"
          7) "endpoint"
          8) "127.0.0.1"
          9) "role"
         10) "master"
         11) "replication-offset"
         12) (integer) 72156
         13) "health"
         14) "online"
      2)  1) "id"
          2) "6daa25c08025a0c7e4cc0d1ab255949ce6cee902"
          3) "port"
          4) (integer) 30005
          5) "ip"
          6) "127.0.0.1"
          7) "endpoint"
          8) "127.0.0.1"
          9) "role"
         10) "replica"
         11) "replication-offset"
         12) (integer) 72156
         13) "health"
         14) "online"
3) 1) "slots"
   2) 1) (integer) 5461
      2) (integer) 10922
   3) "nodes"
   4) 1)  1) "id"
          2) "a4a3f445ead085eb3eb9ee7d8c644ec4481ec9be"
          3) "port"
          4) (integer) 30002
          5) "ip"
          6) "127.0.0.1"
          7) "endpoint"
          8) "127.0.0.1"
          9) "role"
         10) "master"
         11) "replication-offset"
         12) (integer) 72156
         13) "health"
         14) "online"
      2)  1) "id"
          2) "da6d5847aa019e9b9d2a8aa24a75f856fd3456cc"
          3) "port"
          4) (integer) 30004
          5) "ip"
          6) "127.0.0.1"
          7) "endpoint"
          8) "127.0.0.1"
          9) "role"
         10) "replica"
         11) "replication-offset"
         12) (integer) 72156
         13) "health"
         14) "online"

RESP2 回复

Array reply:描述各个分片的哈希范围和分片节点的映射的嵌套列表。

RESP3 回复

Array reply:描述各个分片的哈希范围和分片节点的 Map 回复的嵌套列表。
为本页评分
返回顶部 ↑