Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
背景: 我有一个系统需要支持分布在 100 个聊天室中的 20,000 个连接的聊天用户。在性能测试期间,我发现在获得故障转储之前,我可以在一个机器上连接多达 6,000 个连接的用户,因此在生产中我可能会在一个集群中使用四台服务器。
我的问题: 我知道聊天室绑定到服务器节点,因此如果节点死亡,聊天室也会随之消失,用户不再属于该房间。有没有办法将聊天室“复制”到另一个节点,以便将留下的用户移动到复制的房间?如果没有,您如何为用户保持连续性?
你用的是什么硬件?6000 个连接的用户似乎有点少。此外,ejabberd 不应该在负载下崩溃。它可能会减速,但不会崩溃。
你的设置有问题。
关于复制聊天室节点,这并不容易。最好在客户端处理平滑重新连接。
但是话又说回来,ejabberd 不应该在这种负载下崩溃,除非出现问题。