如果为了稳妥就keepalived+haproxy.
但是haproxy代理的缺点是,后端tidb挂了一台,用户是需要重连的。并不是无感的。优点就是成熟可靠了。
如果是为了实验或者测试,官方bot在b站上发了一个很有意思的视频。
里面的代理用的tiproxy,也是类似keepalived+tiproxy这方案种来做的。我看他的演示可以实现后端挂掉几个tidb节点,客户端也无感。这就很cool。
另外我自己实验过 tidb7.1+proxysql2.5.2.
proxysql对myql做代理还是不错的,实际给tidb做代理,有些sql会报错,而另一些不会。我水平有限也不知道是什么问题,就放弃了这个组合。