Skip to content

Message Bridge Pattern - Padrão a ser utilizado quando existem mais de uma infraestrutura de mensageria e em projetos distintos.

Notifications You must be signed in to change notification settings

fabiomartineli/pattern-message-bridge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

📨 Message Bridge Pattern

image

📌 Contexto de Uso

O padrão Message Bridge é utilizado em cenários onde há a necessidade de integração entre dois sistemas que se comunicam através de tecnologias de mensageria distintas. Esse padrão atua como uma "ponte" entre os dois ambientes, permitindo que mensagens publicadas em um sistema sejam convertidas e encaminhadas corretamente para o outro, garantindo interoperabilidade e continuidade do fluxo de dados entre serviços legados e novos.

Esse padrão é particularmente útil quando:

  • É necessário modernizar uma aplicação gradualmente, sem reescrever tudo de uma vez.
  • Existem limitações técnicas ou organizacionais que impedem a substituição imediata de sistemas legados.
  • Há diferentes padrões ou tecnologias de mensageria utilizados nos sistemas envolvidos (ex: Azure Service Bus e AWS SQS).

⚙️ Desenvolvimento

Neste repositório, apresentamos uma implementação prática do padrão Message Bridge para um caso real de migração e integração entre dois sistemas.

Cenário:

  • Aplicação Legada: Utiliza o Azure Service Bus para comunicação assíncrona entre seus módulos e serviços.

  • Nova Aplicação: Desenvolvida como parte da modernização da infraestrutura, utiliza AWS SQS para mensageria.

  • Bridge (Aplicação Intermediária): Uma aplicação intermediária desenvolvida em NestJS que atua como bridge entre os dois mundos. Ela é responsável por:

    1. Consumir mensagens do Azure Service Bus
    2. Mapear e transformar os dados, quando necessário
    3. Publicar mensagens equivalentes na fila apropriada do AWS SQS

Essa abordagem permite que as duas aplicações se comuniquem mesmo usando plataformas diferentes, mantendo a integridade e a confiabilidade da comunicação entre os serviços.


🛠 Tecnologias Utilizadas

  • NestJS: Framework Node.js utilizado para desenvolver a aplicação bridge. Estruturado e modular, ideal para aplicações escaláveis.
  • Azure Service Bus: Serviço de mensageria confiável da Microsoft Azure, usado pela aplicação legada.
  • AWS SQS (Simple Queue Service): Serviço de mensageria da Amazon Web Services utilizado pela nova aplicação.

✅ Conclusão

A adoção do padrão Message Bridge permitiu a integração entre dois ecossistemas distintos de maneira desacoplada e escalável, garantindo a continuidade dos serviços durante a migração tecnológica. Ao encapsular a lógica de tradução e encaminhamento de mensagens em uma aplicação dedicada, foi possível isolar as mudanças e facilitar testes e manutenção.

Esse padrão é uma excelente escolha para ambientes híbridos ou em processo de modernização, onde a comunicação entre diferentes tecnologias de mensageria é necessária sem afetar o funcionamento das aplicações existentes.

About

Message Bridge Pattern - Padrão a ser utilizado quando existem mais de uma infraestrutura de mensageria e em projetos distintos.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published