2

现在我正在做一个关于推送 Android 的 RnD,首先我正在研究:MQTT using RSMB

问题是它可以处理多少客户?我只听到 1032,在这种情况下,这对我的应用程序不利。(如果可以配置如何?)

在这病态潜入 C2DM 之后。

4

2 回答 2

7

RSMB 确实限制为 1024 个总开放连接。这很可能是由于他们使用 select() 调用来多路复用套接字连接。理论上可以通过在 Linux 上重新编译 glibc 来支持更多的套接字来改变它,但在实践中你不想这样做。

Mosquitto不受这种限制——尽管你的操作系统会应用它自己的限制。在 Linux 上,您可以看到打开的连接数ulimit -n并像这样增加它ulimit -n 2048

在这两种情况下,还值得考虑的是,您可以桥接代理之间的连接,从而通过将每个代理的连接限制为 1000 个然后连接多个代理来支持大量客户端。这很可能是 Facebook 在其使用 MQTT 的新 Messenger 应用程序中采用的方法。

于 2011-08-17T15:57:49.987 回答
3

扩展基于 MQTT 的基础架构有不同的方法,桥接模型很重要。

RSMB 是 IBM alphaWorks 技术,不提供生产使用许可。生产/支持的版本,IBM WebSphere MQ Telemetry Daemon for Devices,可扩展性更高(Linux 上 WMQ Telemetry 的 IBM 性能报告显示至少有 100,000 个并发连接的客户端发送 256 字节消息,请参阅http://www-01.ibm .com/support/docview.wss?uid=swg24027711)。

于 2011-08-18T14:21:42.950 回答