Region id 和peer ID 啥区别

通过如下命令: ./pd-ctl region topwrite 3

{
  "count": 3,
  "regions": [
    {
      "id": 1849,
      "start_key": "7480000000000001FFA900000000000000F8",
      "end_key": "7480000000000001FFAB00000000000000F8",
      "epoch": {
        "conf_ver": 5,
        "version": 199
      },
      "peers": [
        {
          "id": 1850,
          "store_id": 1
        },
        {
          "id": 1851,
          "store_id": 4
        },
        {
          "id": 1852,
          "store_id": 7
        }
      ],
      "leader": {
        "id": 1850,
        "store_id": 1
      },
      "written_bytes": 2990537,
      "approximate_size": 48,
      "approximate_keys": 387860
    },
    {
      "id": 8993,
      "start_key": "7480000000000000FF1700000000000000F8",
      "end_key": "7480000000000000FF175F728000000000FF04148E0000000000FA",
      "epoch": {
        "conf_ver": 5,
        "version": 13
      },
      "peers": [
        {
          "id": 8994,
          "store_id": 1
        },
        {
          "id": 8995,
          "store_id": 4
        },
        {
          "id": 8996,
          "store_id": 7
        }
      ],
      "leader": {
        "id": 8994,
        "store_id": 1
      },
      "written_bytes": 2727409,
      "read_bytes": 7426114,
      "approximate_size": 134,
      "approximate_keys": 1314819
    },
    {
      "id": 1045,
      "start_key": "7480000000000000FF4100000000000000F8",
      "end_key": "7480000000000000FF4300000000000000F8",
      "epoch": {
        "conf_ver": 5,
        "version": 32
      },
      "peers": [
        {
          "id": 1046,
          "store_id": 1
        },
        {
          "id": 1047,
          "store_id": 4
        },
        {
          "id": 1048,
          "store_id": 7
        }
      ],
      "leader": {
        "id": 1047,
        "store_id": 4
      },
      "written_bytes": 1458828,
      "read_bytes": 99,
      "approximate_size": 12,
      "approximate_keys": 91822
    }
  ]
}

我们选第一个Region来看,第一行时"id": 1849,,此表示该region的ID吧?
可是后面的peers 里面有三个副本,分别有三个ID,且都不与上面的ID相同。
peers里面的ID是什么ID啊?

(注:最大副本数为3)

2 个赞

每个 peer 也有自己唯一的 peer_id

关于peer,region和raft group有些不清楚。
三个peer 是一个region, 还是三个region?
是三个peer组成一个raft group, 还是三个region组成一个raft group ?

region:表示一个key range。也即是在这个 range 下的 key 都在这个 region 下。 peer:一组副本之间的称呼。也即是只有同一个 group 下的 region 才能称对方为 peer

region 有 ID,peer 也有 ID。region ID 可以认为是 raft group 的 ID,代表一个副本组。 因此,peers 的 ID 一定不会和 region ID 相同。

Get it , Thanks!

那peer 和 replica 是一个概念吗

你好,此问题比较久远,如果有问题可以开新帖讨论下,感谢配合

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