-1

I have been looking for last 4 days on anything/everything related to MQTT OpenSource broker. Me, being fairly new to MQTT. It would be great if someone can help.

I am working on an App in which I need push notifications support. The app will be used as native mobile apps and webApps(running in browsers). After having some initial research I don't want to use GCM/FCM. I plan to use open-source MQTT broker with socket.io. An ideal use-case of push-notification will be as following:

There will be 1 million active users.

There will be 50-100 groups and each user will be subscribed to about one or two groups mostly with 5-10(max) msgs received from the subscriber per day.

In near-future there must be a possibility of adding chat support between users. Though the chat functionality will be used occasionally between users with few msgs, availability is of prime concern QoS level 1/2.

In future if the users increase we will need to scale. I plan to use mosquitto-broker. My main concern is Will this be suited for this use-case ? How much ram will I need to have in server, if I don't use SSL.

If not, can it be achieved using to Mosca preferred(reason node-js) or emqttd.

My backend consists of express-js server and mongo-db running on Ubuntu.

Thanks

Dibyanshu
  • 84
  • 7

1 Answers1

0

I have worked on Mosquitto broker in one of my client product. In that, we have published 10K messages per second to Mosquitto. A single instance of Mosquitto broker handles flawlessly this number of load. I have also tested 100K concurrent connections to Mosquitto broker. So, by looking to your scenario, my suggestion is to go with Mosquitto. To scale up use cluster Mosquitto.

Arbaz Alam
  • 1,172
  • 1
  • 14
  • 24
  • 1
    If you face any issue, please let me know. I have struggled with Mosquitto for very long... :) – Arbaz Alam May 31 '17 at 11:58
  • 1
    Mosquitto does not support clustering but bridging – Dominik Obermaier May 31 '17 at 12:24
  • Thanks for the comment @Dominik. I googled on the difference between clustering and bridging Found (https://stackoverflow.com/questions/26280208/) . Would you suggest Mosca or emqttd to be better for near-future in my use case?? – Dibyanshu May 31 '17 at 17:47
  • Hi @Arbaz I need your help... Is there a way we can communicate ? If possible can you please share your mail...or incase if you dont prefer to share publicly, would it be possible for you to contact me via the contact section of https://dibyanshusinha.GitHub.io I would be highly indebted. – Dibyanshu Jun 01 '17 at 15:15