erlang 如何做ejabberd集群负载平衡的正确方式?

velaa5lx  于 2022-12-08  发布在  Erlang
关注(0)|答案(1)|浏览(112)

我已经在同一个域(www.example.com)中按照步骤here设置了一个群集(node1和node2)talk.example.com。
我已经测试了具有两个客户端的集群,这两个客户端连接到不同节点的IP(而不是域talk.example.com)。但是,如果我希望客户端连接到DNS记录(talk.example.com),而不是集群中节点的IP,我想知道如何在集群中分配客户端?
DNS循环调度?我不知道如果相同的客户端返回不同的IP是否适用于相同的客户端,因为XMPP协议是有状态的。或者Linux虚拟服务器?我以前从未尝试过这个。
我已经阅读了服务负载平衡,但是哪个节点将是前端(客户端将连接到的节点)?

e0bqpujr

e0bqpujr1#

您必须使用DNS平衡或负载平衡器(如haproxy),甚至两者都使用。
DNS实际上是最简单的一个,但您需要记住,它是SRV记录_xmpp-client._tcp。{您的域}必须是平衡的,而不是您真实的的域。

相关问题