pd follower 可以提供数据的元信息嘛,比如region leader的位置信息等

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.5
【遇到的问题:问题现象及影响】
对于pd follower 节点的能力一直很模糊,不知道能否提供数据的元信息,或者有相关的文档可以去学习

不可以

1 个赞

提供服务的主要是 pd leader

哦哦,好吧,那pd follower的作用就是作为备份用的嘛,它上面应该也有元信息的数据吧,这些数据不就是存在etcd中嘛,所以说pd follower可能与pd leader有数据的滞后嘛

大佬,有无官方的资料,想去揣摩一下 :joy:

主要是通过pd leader 对外提供全局的TSO和region 元数据,follower 是高可用备用节点。

在较高的版本之后,为了缓解极端高并发场景下pd leader 分配TSO的压力,也支持设置pd follower read 功能

是的,是可能有滞后的。


–开启 Follower Read
select @@tidb_replica_read

–默认
SET GLOBAL tidb_replica_read = ‘leader’;
SET GLOBAL tidb_replica_read = ‘follower’;

Follower Read是针对TiKV的,不是PD哈。

PD follower元数据读取应该能实现的。
TSO的分配应该是个难点,多节点怎么确保分配出去的TSO的全局唯一性和时序性呢 :thinking:

https://github.com/tikv/pd/wiki/Metadata-Management

可以看看这个。这个介绍的是比较清楚的。
因为region的元信息,放在pd leader的一个btree缓存中。

In addition, in order to speed up the processing of the heartbeat, the corresponding Region information reported by the heartbeat will be updated to KV only when the epoch changes or a new Region is inserted. Otherwise, only the cache is updated.

这里的KV出现在Using etcd to store metadata小节中,所以指的应该就是etcd。

所以答案是不可以。

1 个赞

题主问的pd 这个截图说的tikv。 可以了解下etcd。

它有元信息,但是不能提供,只有LEADER可以