Client-transparent and self-managed MQTT broker federation at the application layer - Machado Junior, José Fernando de Lacerda (2023)
Escalabilidade em sistemas de mensageria ainda é um tópico a ser explorado. As soluções existentes utilizam, principalmente, estratégias de clusterização, o que torna essas soluções adequadas para sistema com grandes fluxos de dados mas continuam dependendo unicamente de um orquestrador, que caracteriza um ponto único de falha. Por outro lado, algumas soluções, normalmente produtos comerciais, oferecem escalabilidade baseada em federação, sendo as principais características de robutez dessas soluções o fato de serem distribuídas e altamente tolerante a falhas. Spohn (2020) apresentou um solução inovadora baseada em federação, também sendo auto-gerenciada, que é o principal fundamento deste trabalho. Então, apresenta-se aqui um wrapper escrito em Python utilizado em conjunto com brokers MQTT Mosquitto, possibilitando que estes trabalhem de maneira federada e auto-organizada. Este wrapper é totalmente transparente ao cliente e pode ser anexado ao broker MQTT sem necessidade customização, apenas com pequenos ajustes de configuração de saída dos logs da aplicação.