Pergunta

Right now i am doing an RnD about push for Android and first i am working on: MQTT using RSMB

question is for how many clients can it handle? i heard only 1032, in that case this is not good for my app. (if it is configurable how?)

after this ill dive into C2DM.

Foi útil?

Solução

There are different ways of scaling an MQTT-based infrastructure and the bridging model is important.

RSMB is an IBM alphaWorks technology and does not provide a license for production use. The production / supported version, IBM WebSphere MQ Telemetry Daemon for Devices, is considerably more scalable (the IBM performance reports for WMQ Telemetry on Linux demonstrate at least 100,000 concurrently-connected clients sending 256 byte messages see http://www-01.ibm.com/support/docview.wss?uid=swg24027711).

Outras dicas

RSMB is indeed limited to 1024 total open connections. This is most likely due to them using the select() call to multiplex socket connections. It could theoretically be changed by recompiling glibc on Linux to support a greater number of sockets, but not something you want to do in practice.

Mosquitto isn't limited in this way - although your OS will apply its own limits. On Linux you can see the number of open connections with ulimit -n and increase it like ulimit -n 2048

In both cases it's also worth considering that you can bridge connections between brokers and so support a great deal of clients by limiting per-broker connections to 1000 and then connecting multiple brokers for example. This is most likely the approach that Facebook are taking in their new Messenger app which uses MQTT.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top