TiDB 6.1.1,三异地三中心
【 TiDB 版本】
查看官方文档,Follower 强一致读
TiKV follower 节点处理读取请求时,首先使用 Raft ReadIndex 协议与 Region 当前的 leader 进行一次交互,来获取当前 Raft group 最新的 commit index。本地 apply 到所获取的 leader 最新 commit index 后,便可以开始正常的读取请求处理流程。
疑问:是否意味着,即便配置了Follower Read + closest-replicas ,本机房客户端请求 本机房的tikv region-follower 还是需要跑回另外一个机房这个region-leader 去拿一遍commit index ,这样流量还是需要跨机房,假设异地中间专线网络时延是30ms,本机房内请求的响应时间还是会超过30ms吗?
疑问二:目前 TSO 分配的主要问题:
TSO 分配由 PD Leader 节点提供,大量请求下会导致 Leader 节点 CPU 利用率增高,影响事务延迟。
PD Follower 节点基本处于空闲状态,系统资源利用率较低。
TiDB 跨数据中心访问 PD Leader 时,数据中心间的延迟导致事务延迟增加。
获取当前Raft group最新commit index + 获取TSO,感觉延时会完全不能接受。