Is it possible to load balance MQTT broker? Can I use ELB to load balance MQTT? Any pointers in this direction would be helpful. I hit upon http://www.slideshare.net/kellogh/mqt
You can't load balance MQTT Brokers like you would load balance web servers! The LB solution has to persist the connection on the MQTT Topic field, NOT the client's IP:Port...otherwise not all subscribers will get published messages. A 'Publisher' message only gets sent to a single MQTT Broker, so only that Broker will resend the messages. If a 'Subscriber' for the same MQTT Topic goes to a different Broker, it won't be receiving the messages from the Publisher connected to the other Broker. You can, of course, bridge your MQTT Brokers so that all of them get the message, but then what's the point of LB-ing them?? You're not really scaling them at that point, which is probably why you want to LB them in the first place. An F5 BIG-IP can be used to do true MQTT LB, IF you create the iRule script to do the LB decision on the MQTT Topic. There are companies out there doing this today.