Arquitetura Orientada a Eventos // Event-Driven Architecture (EDA)

A Arquitetura Dirigida a Eventos é uma das forma de modelar sistemas distribuídos e, claro, esse tipo de Estilo Arquitetural também se aplica ao desenho de arquitetura de Microsserviços. Muitos problemas de transação são aliviados quando a idempotência e a lógica de nova tentativa são adicionadas a um sistema. O sistema pode repetir mensagens um número infinito de vezes para o destinatário até que haja uma aceitação e confirmação da mensagem do destinatário. Os sistemas orientados a eventos estão intimamente relacionados às fontes de eventos e CQRS. Greg Young e Martin Fowler têm conversado sobre esses sistemas há algum tempo. Os eventos são persistidos em algo como uma fila de mensagens e, portanto, a responsabilidade de nova tentativa e persistência é transferida para ela. Essas abstrações permitem que o programador se concentre na lógica de negócios de um sistema e adicione assinantes a eventos com acoplamento mínimo a outros serviços. A dissociação do sistema é uma das vantagens dos sistemas orientados a eventos. Quando se pensa em desenhar uma arquitetura, usando o estilo arquitetural de microsserviços, o primeiro pensamento que surge é: Como pode ser feita a comunicação entre esses microsserviços? Será que a estratégia de HTTP é a melhor opção? No vídeo que fizemos sobre Message Queue, foi apresentada uma forma ASSÍNCRONA de comunicação entre contextos diferentes de serviços. Já na arquitetura Event-Driven o problema de comunicação é resolvido. No entanto, começam a aparecer outras preocupações que você precisa lidar: Falta de controle do fluxo Não ter garantia de transação Consistência EVENTUAL dos dados Replicação dos dados na Plataforma Event-Sourcing Replay de Eventos Enfim, existem várias VANTAGENS que são apresentadas neste video, mas também mostro, no final do vídeo, algumas DESVANTAGENS que merecem ser apresentadas, devido ao grau de complexidade que esse tipo de Estilo Arquitetural traz para o design, manutenção e evolução. Referências:    • The Many Meanings of Event-Driven Architec...   https://martinfowler.com/articles/201... https://en.wikipedia.org/wiki/Event-d... https://microservices.io/patterns/dat... #systemdesign #arquiteturadirigidaaeventos #eventos #arquitetura #desenhodesolucao #arquiteturadesoftware #eda #eventdrivenarchitecture #solutiondesign #publishsubscribe #softwarearchitecture #emergingcode ================= ✔️CONHEÇA NOSSO BLOG: www.emergingcode.com.br ✔️NOSSAS REDES SOCIAIS: Telegram: https://t.me/emergingcode Instagram:   / emergingcode   Linkedin: https://bit.ly/34pelhx Facebook:   / emergingcode   ================= Contato Comercial: ✉ [email protected] ================= NÃO CLIQUE AQUI: https://bit.ly/3n9EPdE