TiDB server需要做负载均衡么

新手一枚,请问下,在实际生产中,各位有给多个tidb-server做负载均衡,再对外提供服务吗?

是的,需要在tidb-server前面用一个loadbalancer,例如haproxy、nginx,或者云厂商的LB

2 个赞

需要做,否则没有高可用,计算也无法均衡了

2 个赞

好的,谢谢!

有大佬写的专栏 可以看看 专栏 - 搭建TiDB负载均衡环境-HAproxy+KeepAlived实践 | TiDB 社区

1 个赞

需要做,有钱就上f5

1 个赞

我猜你需要这个

建议官方提供一个负载均衡解决方案

是的,tidb server是无状态的节点,为了保证高可用,是需要和负载均衡工具一起搭配使用的
这类工具有很多,比如HAproxy、Nginx等

花钱的使用F5,云上可以使用ELB之类的。
不花钱的,使用HAproxy或LVS,高可用环境搭建参考我写的两篇文章:
搭建TiDB负载均衡环境-HAproxy+KeepAlived实践 - 我是咖啡哥 的专栏 - 专栏 - 搭建TiDB负载均衡环境-HAproxy+KeepAlived实践 | TiDB 社区

搭建TiDB负载均衡环境-LVS+KeepAlived实践 - 我是咖啡哥 的专栏 - 专栏 - 搭建TiDB负载均衡环境-LVS+KeepAlived实践 | TiDB 社区

1 个赞

也是有的
https://docs.pingcap.com/zh/tidb/stable/haproxy-best-practices

通常会使用多个 TiDB Server 实例进行负载均衡,并对外提供服务。这样做的目的是提高系统的性能、容错能力和可扩展性

tidb前面可以使用haproxy,但是haproxy的高可用怎么保证

再加个keepalive 就高可用了

keepalived还得需要VIP。我的想法是使用域名解析,使用consul添加三个haproxy解析到一个域名上,不知道有没有这样部署过

一般大型网站使用DNS域名解析作为第一级负载均衡手段,但是给后台服务做负载均衡我没试过,这种做法有个弊端就是每一个环节都可能存在解析记录缓存。如果服务器IP发生变动,即使修改了A记录,也需要各级缓存失效后才能生效。

这个是开源产品的解决方案,我的意思是不需要客户自己配置任何其他的组件的功能,比如Oracle RAC 提供SCAN VIP是自动部署的,可以默认提供负载均衡功能。

国内分布式数据库应该都没这个功能,如oceanbase也得上负载均衡设备

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