Event-Driven Architecture

Vídeo do Martin Fowler explicando Event-Driven Architecture, suas consequências e 4 padrões comumente presentes quando se fala no assunto:

Segundo Martin Fowler, quando se fala de Arquitetura Orientada a Eventos, esses 4 temas estão quase sempre presentes:

  1. Notificação de Eventos (Event Notification)
  2. Transferência de Estados carregados por Eventos (Event-carried State Transfer)
  3. Fonte de Eventos (Event Sourcing)
  4. Segregação de responsabilidade de comandos e consultas (Command Query Responsibility Segregation – CQRS)

A notificação de eventos traz a vantagem de desacoplar o receptor do remetente. A desvantagem é a dificuldade de saber qual será o comportamento do sistema após o evento, não há um método sendo chamado no código, no momento da criação do evento, que você pode seguir e saber o que vai acontecer a seguir.

Ter o Estado nos Eventos desacopla ainda mais os serviços e reduz a carga no fornecedor, mas traz a duplicação de dados e a consistência é eventual.

Vantagens de Fonte de Eventos:

  • Auditoria
  • Debugging
  • Estado histórico
  • Estado alternativo
  • Estado em memória

Desvantagens:

  • Não é familiar
  • Sistemas externos
  • Schema de eventos
  • Identificadores

Algumas pessoas ainda falam que a assincronia e o versionamento são problemas, mas o que ocorre é que o desenvolvedor aproveita a Fonte de Eventos para introduzi-los no sistema, como solução.

Para mais informações:

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.