为大量活跃用户提供MQTT Broker(websocket支持),为每个用户提供更少的消息

时间:2017-05-30 18:18:25

标签: websocket push-notification mqtt mosquitto mosca

我一直在寻找与MQTT OpenSource经纪人相关的任何事情的最后4天。我,对MQTT来说还算新手。如果有人可以提供帮助,那就太好了。

我正在开发一个需要推送通知支持的应用程序。 该应用程序将用作本机移动应用程序和webApps(在浏览器中运行)。经过一些初步研究后,我不想使用GCM / FCM。我计划在socket.io中使用开源MQTT代理。推送通知的理想用例如下:

将有100万活跃用户。

将有50-100个组,并且每个用户将订阅大约一个或两个组,大多数每天从订户接收5-10(最大)消息。

在不久的将来,必须有可能在用户之间添加聊天支持。虽然偶尔会在信息很少的用户之间使用聊天功能,但可用性主要是QoS等级1/2。

将来如果用户增加,我们将需要扩展。 我计划使用mosquitto-broker。我主要担心的是这适合这个用例吗?如果我不使用SSL,我需要在服务器中安装多少内存。

如果没有,可以使用Mosca首选(reason node-js)或emqttd来实现。

我的后端包括在Ubuntu上运行的express-js服务器和mongo-db。

由于

1 个答案:

答案 0 :(得分:0)

我曾在我的一个客户产品中使用过Mosquitto经纪人。在那里,我们每秒向Mosquitto发布10K消息。 Mosquitto代理的单个实例可以完美地处理这个数量的负载。我还测试了与Mosquitto代理的100K并发连接。因此,通过查看您的场景,我的建议是与Mosquitto一起使用。扩大使用群集Mosquitto。