问题描述
Ejabberd 是可大规模扩展的服务器,这里的 article 表明 Ejabber 可以支持 200 万以上的并发用户。
但对于多用户聊天(MUC),Ejabber 仅支持 5K 用户(根据 ejabberd 模块代码:here)。 Ejabbered 应该能够处理更多的用户,所以我向 Ejabberd Gurus 提出问题:
提前致谢。
解决方法
- 为什么 Ejabberd 限制在 MUC 中仅支持 5k 用户?
因为让 5000 人互相分享他们的存在,并与所有其他 4999 人聊天是没有意义的。
- 如何在 MUC 中支持超过 5K 的用户?
很简单,直接编辑源码加个0到5000。重新编译,重新安装。但是,如果您的机器滞后,请不要抱怨。这样做的风险由您自己承担。
- 聚类能否缓解这种限制?
不,因为每个房间都由一个进程处理,并且该进程位于特定的机器中。
XEP-0045 (MUC) 并非旨在在同一个房间内拥有数千个聊天机器人。是用来聊天的。如果您没有人聊天,请使用适合您的任务的工具,例如 MucSub 或 PubSub...
,您使用的是“用户”这个词,但显然您不是在考虑人,不是人,对吗?
我希望您不打算让 5.000 人加入和离开一个聊天室,每次他们加入和离开聊天室时都会与其他 4.999 人分享他们的状态。我希望您不要指望这 5.000 人向所有其他 4.999 人发送公开信息。
那将是一个板球笼。