region和peer的理解

3副本指的是PEER_ID为2742037,2742038,2742039 三个?
REGION_ID 是IS_LEADER=1的leader角色peer 的一个副本指针?
可以这么理解吗

show config where name like ‘%replication.max-replicas%’;
±-----±---------------±-------------------------±------+
| Type | Instance | Name | Value |
±-----±---------------±-------------------------±------+
| pd | 127.0.0.1:2379 | replication.max-replicas | 3 |
| pd | 127.0.0.1:2381 | replication.max-replicas | 3 |
±-----±---------------±-------------------------±------+

select * from information_schema.tikv_region_peers where REGION_ID=2742036 \G
*************************** 1. row ***************************
REGION_ID: 2742036
PEER_ID: 2742037
STORE_ID: 1
IS_LEARNER: 0
IS_LEADER: 0
STATUS: NORMAL
DOWN_SECONDS: NULL
*************************** 2. row ***************************
REGION_ID: 2742036
PEER_ID: 2742038
STORE_ID: 2741019
IS_LEARNER: 0
IS_LEADER: 1
STATUS: NORMAL
DOWN_SECONDS: NULL
*************************** 3. row ***************************
REGION_ID: 2742036
PEER_ID: 2742039
STORE_ID: 2741022
IS_LEARNER: 0
IS_LEADER: 0
STATUS: NORMAL
DOWN_SECONDS: NULL
3 rows in set (0.00 sec)

1 个赞

或者region_id可以理解为raft group 的 vip(id) ?

Region/Peer/Raft Group

每个 Region 负责维护集群的一段连续数据(默认配置下平均约 96 MiB),每份数据会在不同的 Store 存储多个副本(默认配置是 3 副本),每个副本称为 Peer。同一个 Region 的多个 Peer 通过 raft 协议进行数据同步,所以 Peer 也用来指代 raft 实例中的成员。TiKV 使用 multi-raft 模式来管理数据,即每个 Region 都对应一个独立运行的 raft 实例,我们也把这样的一个 raft 实例叫做一个 Raft Group。

参考这个


每个 Raft Group 的 Leader 会定期向 PD 汇报 Region 的状态信息

每个 Raft Group 的 Leader 和 PD 之间存在心跳包,用于汇报这个 Region 的状态,主要包括下面几点信息:

  • Leader 的位置
  • Followers 的位置
  • 掉线副本的个数
  • 数据写入/读取的速度

PD 不断的通过这两类心跳消息收集整个集群的信息,再以这些信息作为决策的依据。

https://docs.pingcap.com/zh/tidb/stable/tidb-scheduling
https://docs.pingcap.com/zh/tidb/stable/glossary#regionpeerraft-group

1 个赞

还是理解为group的虚拟id合适点吧

应该是这么理解的吧

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。