现在我正在做关于Android推送的RnD,我首先要做的是: 使用RSMB的MQTT
问题是它可以处理多少客户?我只听到1032,在这种情况下,这对我的应用程序来说并不好。 (如果可配置如何?)
此次潜入C2DM之后。
答案 0 :(得分:7)
RSMB确实限于1024个总开放连接。这很可能是由于他们使用select()调用Multiplex套接字连接。理论上可以通过在Linux上重新编译glibc来支持更多的套接字来改变它,但不是你想要在实践中做的事情。
Mosquitto不限于这种方式 - 尽管您的操作系统会应用自己的限制。在Linux上,您可以查看ulimit -n
的打开连接数,并将其增加为ulimit -n 2048
在这两种情况下,还值得考虑您可以桥接代理之间的连接,从而通过将每个代理连接限制为1000然后连接多个代理来支持大量客户端。这很可能是Facebook在使用MQTT的新Messenger应用程序中采用的方法。
答案 1 :(得分: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)。