Introdução a Event-driven Architecture
Quando estamos trabalhando com a Arquitetura de Microsserviçosexistem basicamente duas naturezas de comunicação, síncrono e assíncrono.
O Event-driven Architecture (Arquitetura orientada a eventos) implementa o modelo de comunicação assíncrona.
Relembrando
A comunicação síncronaexpõe as APIs baseadas na arquitetura RESTou gRPCsob o protocolo HTTP. Nesse modelo utiliza-se de chamadas bloqueantes, ou seja, o cliente da API deve aguardar o retorno do processamento da requisição.
Idealmente, no contexto de microsserviços, cada serviço deve ter um baixo acoplamento e comunicar-se via Message-passing pattern ou Event-driven Architecture
Dito isso, o Event-driven Architecture é um modelo onde os sistemas reagem a eventos em vez de serem acionados por chamadas síncronas. Um evento pode ser qualquer mudança significativa no sistema, como o envio de uma mensagem, a atualização de dados ou o clique de um botão.
Abaixo um exemplo com a visão geral de um sistema que implementa esse tipo de arquitetura.