📌Message Brokers são sistemas que visam facilitar a troca de mensagens
entre sistemas ou componentes de software.
Eles atuam como intermediários, recebendo mensagens de um
remetente e encaminhando-as para seus receptores, garantindo que a comunicação ocorra de forma confiável e assíncrona.
Geralmente, são usados em arquiteturas de software distribuídas
para desacoplar componentes e permitir a comunicação entre eles
sem que eles precisem se conhecer diretamente. Alguns exemplos de Message Brokers populares incluem RabbitMQ, Apache
Kafka e Redis (dentre vários outros). Cada um desses sistemas tem suas próprias características e pode ser melhor adequado para diferentes tipos de cenários de comunicação.
⚙Seu funcionamento tem como fundamento a possibilidade de um ou vários publishers publicarem suas mensagens no broker, e então ele as atribui uma ou várias filas baseado em um identificador publicado com a mensagem.
Com isso, os consumidores, possuem uma configuração baseada em quais filas precisam ser inscritos. Assim, quando eles se inscrevem em uma fila específica, o broker envia/empurra mensagens para estes consumidores em load-balanced ou fan-out style.
Um comportamento padrão dos brokers é ter suas mensagens deletadas uma vez que os serviços as tenham consumido. Além disso, a ordem de processamento de mensagens na fila não é garantida e pode ser alterada.
✅O uso destes sistemas de mensageria pode trazer vários benefícios, como:
Desacoplamento: Permitem que os aplicativos enviem e recebam mensagens de forma desacoplada.
Escalabilidade: Escalam melhor que a comunicação síncrona.
Tolerância a falhas: possuem mecanismos para recuperação de dados em caso de falha de algum consumidor.
Garantia de entrega: garantem que as mensagens sejam armazenadas e entregues de forma confiável.
Suporte a diferentes modelos de mensagens: suportam diferentes modelos de mensagens.
Facilidade de comunicação: facilitam a comunicação entre diferentes partes do sistema.
Top comments (0)