← Back to team overview

mosquitto-users team mailing list archive

Scaling and HA strategies

 

Hi,

I'm evaluating mosquitto for a project.
Two constraints we have :
-High Availability of the service
-Scalability (ie possibility to scale up the service by adding servers)

I imagine that for all the MQTT based services, we have a 3 "actors" setup
-Client: the Client level, ie mobile phones here, handled by an MQTT client library
-Broker: Clients talk with MQTT brokers
-Server Application: A server app that is listening to MQTT topics and posting some

So for HA (ie being sure a client can connect), we need to have multiple Brokers for redundancy (as for the Server Application, but it is not the topic here)
From what I've seen the bridge feature seems to be of some help for this kind of setup, but it is not clear to me if it would be better to deal with topic sync at the server application level, ie posting on each broker servers individually  instead of on one and letting the bridge feature handling it, same for reading client message of course : reading on each broker, or on one using bridge sync. 
=>Basically it is down to the bridge feature performance. I'm asking here because for more than 2 brokers (4 / 8 etc) the very nature of the bridge feature will probably lead to a lot of messages exchanges between the brokers to keep them in sync (or perhaps I'm just asking myself too many questions)

After for broker choice, what about load balancer? or doing this locally on client side? any experience here?

If someone has experience/articles, etc doing this kind of setup with Mosquitto, that would be of great help!

Thx
Thomas