Since we are into it, just sharing then: I had a lot of success with RabbitMQ + it's MQTT plugin. AFAIK, it actually has the MQTT plugin now baked in by default. Never had any issue at scale, plus you get AMQP in your stack, and you can actually use AMQP to consume the messages originally received over MQTT.
I had a terrible time with a cluster of RabbitMQ servers, the cluster was partitioning often, impacting the application. It seemed like it was very sensitive to transient network problems.
At the end we moved from a cluster to a single instance running on a over provisioned machine, that worked pretty well.
Are you running a cluster? What clustering strategy guarantees and what’s your recovery story?