DEV Community

Ramon Xavier
Ramon Xavier

Posted on

Você sabe o que é Message Broker?

Image description

📌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.

mensageria #programacao #development #developer #desenvolvimento #programa #codigo #tecnologia #arquiteturadesoftware

Top comments (0)