Arquitetura

Modelo: Arquitetura orientada a eventos

Produtores, tópicos Kafka, consumidores, fila de mensagens mortas e analytics

Prévia do modelo Arquitetura orientada a eventos

O que vem no modelo

Nós
10
Packs
StackDados
Categoria
Arquitetura

Funciona no plano Free: 15 nós de diagrama + 150 notas, textos, figurinhas e tópicos de mapa mental por diagrama.

Em uma arquitetura orientada a eventos, os serviços anunciam o que aconteceu e outros serviços reagem, em vez de se chamarem diretamente. Este modelo mostra o checkout-service publicando OrderPlaced no tópico orders de um broker de eventos, enquanto o payment-service e o inventory-service assinam esse tópico.

Depois, o payment-service publica PaymentCaptured no tópico payments, que o shipping-service e o notification-service consomem. Eventos que não podem ser processados vão para uma fila de mensagens mortas, e um armazém de analytics recebe todos os eventos. Os produtores ficam à esquerda, o broker e os tópicos no meio e os consumidores à direita, então o fluxo se lê da esquerda para a direita.

Quando usar

  • Projetar como os serviços reagem a eventos de negócio como pedidos, pagamentos e entregas.
  • Mostrar qual time publica cada evento e quem depende dele.
  • Revisar o tratamento de erros: novas tentativas, filas de mensagens mortas e reprocessamento.
  • Explicar um sistema assíncrono para quem conhece APIs de requisição e resposta.

Como usar

  1. Renomeie os tópicos e os eventos de acordo com o seu domínio, com nomes no passado como OrderPlaced.

  2. Adicione produtores e consumidores a partir do pack Stack e ligue-os aos tópicos com conexões tracejadas.

  3. Adicione uma fila de mensagens mortas para cada consumidor que pode falhar, e anote quais eventos o armazém de analytics guarda.

  4. Compartilhe o diagrama com cada time que publica ou consome eventos, e salve uma versão quando um tópico ou evento mudar.

Perguntas

Este modelo está preso ao Kafka?

Não. A moldura do broker diz Kafka porque é comum, mas o mesmo desenho vale para RabbitMQ, Amazon EventBridge, Google Cloud Pub/Sub ou Azure Service Bus: renomeie a moldura e os tópicos.

O que é uma fila de mensagens mortas?

Uma fila de mensagens mortas guarda os eventos que um consumidor não conseguiu processar depois das novas tentativas, para que não se percam nem travem os eventos seguintes. Os times os analisam, corrigem a causa e os reprocessam.

Posso mostrar eventos e fluxos de requisição em um só diagrama?

Sim. Use conexões contínuas para chamadas diretas e tracejadas para eventos, ou comece pelo modelo de microsserviços, que mostra um API gateway e um barramento de eventos juntos.

Modelos relacionados

Caso de uso relacionado

Diagramas de arquitetura em nuvem

Abra um canvas em um minuto

Entre com Google ou GitHub. Grátis para um assento. Faça upgrade quando a equipe entrar.