Sim, o Mosquitto suporta vários corretores.
O Mosquitto usa MQTT Bridges para conectar vários intermediários, roteando mensagens entre esses intermediários. Dessa forma, uma ponte entre seu intermediário primário e um sistema de fallback pode ser estabelecida. Evite criar loops embora. Se ambos os intermediários executarem seus clientes, publique no intermediário primário, que publica o tópico para cada assinante, incluindo o intermediário secundário em ponte. Se o primário falhar, seus clientes notarão (Conexão recusada, servidor indisponível) e poderão usar o fallback para publicar diretamente no secundário. (Ainda não tenho certeza de como consertar o contrário.) Como você não espera que o cliente se desconecte sem graça, acho que "Last Will and Testament" não se aplica aqui (seria usado para que o corretor notificasse em nome de um cliente desconectado).
Esta publicação, no entanto, lista as desvantagens dessa abordagem, especialmente em relação à escalabilidade e disponibilidade:
- Os mecanismos de roteamento da ponte não escalam bem se você encaminhar todas as mensagens para as outras pontes
- A sobrecarga de comunicação entre pontes é significativa se você estiver usando QoS 2 entre pontes (o que você precisa fazer se quiser propagar mensagens entre clientes que estão conectados a pontes diferentes)
- Não há failover e alta disponibilidade. Se uma ponte do broker travar, as mensagens poderão se perder
- Os clientes MQTT não podem ser migrados para outros nós da ponte. As sessões do MQTT não são replicadas entre pontes, portanto, você perderá todas as mensagens e assinaturas em fila se estiver usando sessões persistentes do MQTT.