业务希望实现读写分离分担节点压力,请问 TiDB 读写分离的配置方式,以及怎样确认读写请求已正常分流?
1 个赞
在 TiDB 中实现读写分离,核心是设置 tidb_replica_read 变量。
配置方式 :
sql
– 会话级:所有读请求走 Follower SET SESSION tidb_replica_read = ‘follower’; – 全局级 SET GLOBAL tidb_replica_read = ‘follower’;
常用选项:leader (默认)、follower (强制只读副本)、leader-and-follower (轮询)、closest-replicas (就近读)。
确认分流 :
- 看监控 :Grafana → TiKV-Details → 观察各 TiKV 节点的 CPU/QPS 分布,预期 Follower 节点的读负载上升。
- 看慢查询 :慢查询日志中记录的执行计划,可推断读取副本类型。
- 对比延迟:分别用
leader和follower模式执行相同查询,若延迟差异明显则说明分流生效。
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。