【TiDB 使用环境】测试
【TiDB 版本】v8.1.2
【操作系统】openEuler 22.03 (LTS-SP4)
【部署方式】本地机房 8C 64GB 300GB SSD 单机部署
【集群数据量】50GB
【集群节点数】1
请教个问题,如果集群中没有部署tiproxy组件,使用SLB去代理多个tidb-server节点的4000端口,是不是只有在tidb-server发生重启、升级、缩容操作时,业务侧连接会闪断。tikv节点重启、升级、缩容操作时不会发生这种情况
是的,
如果使用了slb的话。。可以把slb对应的tidb servver的权重设置为0.。然后在低峰期把相关tidb的链接kill掉。。这样对应用的影响最小
1 个赞
是的,tikv是会迁移数据。
1 个赞
生产环境中,就算是有tiproxy,也会出现闪断.最好是找业务极少的情况下搞,这样才好
是的,会闪断的
单机集群本来就没高可用,TiKV/PD 重启不影响连接是对的
客户端只和 TiDB Server 保持 TCP 连接,不直连 TiKV。
SLB 不持有会话、不代理连接、不做重试、不做重路由。
TiKV leader 迁移期间,正在执行的大查询可能因为 region leader 切换而短暂重试,表现为某些 SQL 变慢,但不会断连接,非特殊情况,副本不足。
tidb的节点如果出现变化还是会闪断的吧
我们讨论的就是一般情况,tidb节点挂了,那就不是闪断 那是直接挂了。
通常不会闪断,但在“元数据变更”或“故障切换”时会闪断
但是升级缩容的时候也是停止服务了吧
在没有 TiProxy 的情况下,用 SLB 直连多个 TiDB Server:
会导致连接闪断的情况
- TiDB Server 重启 / 升级 / 下线
- SLB 健康检查剔除节点
一定会断连接(客户端需要重连)
2 个赞
在不部署 TiProxy、仅通过 SLB 代理多 TiDB-Server:4000 端口的架构下:
- TiDB-Server 重启 / 升级 / 缩容:已建立连接会闪断
- TiKV/PD 重启 / 升级 / 缩容:业务连接完全不受影响 新请求会自动负载均衡到正常节点,业务只需做好重连即可。
1 个赞
可能region 的drop leader也会有影响吧
tikv的角色变化是在tidb server端会感知吗
有没有可能 TiKV 重启即停机:重启 TiKV 会导致数据库短暂(几十秒到几分钟)完全不可用,数据层挂了
感谢老师分享