大家都用什么做tidb server的负载均衡?

以前用别的数据库中间件的时候,都是用LVS+KP或者使用F5,我看tidb文档中有个最佳实践: HAProxy 在 TiDB 中的最佳实践
https://docs.pingcap.com/zh/tidb/stable/haproxy-best-practices#haproxy-在-tidb-中的最佳实践
里面只介绍了HAProxy的安装,没有结合KP之类的来做,实际情况应该不是这样玩的吧?
HAProxy一直听说,但是没真正使用过,希望有经验的小伙伴分享下,有相关文档更好。

可以看看这个文章

https://docs.pingcap.com/zh/tidb-in-kubernetes/stable/build-multi-aws-eks#配置负载均衡器

省钱HAProxy 加keeplive 更好的是上f5负载均衡设备

我没有用容器。

haproxy+ keepalive 确保负载均衡高可用,或者用F5之类的负载均衡

有haproxy+ keepalive的最佳实践不?

就是加一个keepalive 然后用vip 作为负载均衡的地址,这样任何一个hapoxy 出问题后,都可以通过vip 来提供高可用服务

如果为了稳妥就keepalived+haproxy.
但是haproxy代理的缺点是,后端tidb挂了一台,用户是需要重连的。并不是无感的。优点就是成熟可靠了。

如果是为了实验或者测试,官方bot在b站上发了一个很有意思的视频。

里面的代理用的tiproxy,也是类似keepalived+tiproxy这方案种来做的。我看他的演示可以实现后端挂掉几个tidb节点,客户端也无感。这就很cool。

另外我自己实验过 tidb7.1+proxysql2.5.2.
proxysql对myql做代理还是不错的,实际给tidb做代理,有些sql会报错,而另一些不会。我水平有限也不知道是什么问题,就放弃了这个组合。

软负载的话haproxy+keepalived用的比较多。其他的也用过。

我以前写过相关的文章:专栏 - 这么多TiDB负载均衡方案总有一款适合你 | TiDB 社区

有条件的话就上F5了,省力省心。

F5 网络工程师管,不是一个部门,懒得扯一起 :joy:

大佬这篇文章比较清晰,我把lvs铲掉用haproxy试试 :grinning:

HAProxy

TiDB本身是无状态的,是否可以官方开发一个组件实现HAproxy keepalive的功能?来实现VIP,我觉得这个是很有必要的,省的客户自己部署多余的组件

强烈支持tidb官方开发一个组件

看路线图后面好像是有一个tiproxy?

上的阿里云的CLB

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