15 / 19 Arquitetura de software na prática · 112 min de vídeo · atualizado em 13 out 2026

Arquitetura orientada a eventos: SNS, SQS e Kafka

Entenda publicação, roteamento e consumo de eventos e as diferenças entre fila de trabalho e log distribuído.

Fernanda Kipper
Fernanda Kipper
Próxima aula →

O evento registra algo que já aconteceu

MatriculaConfirmada descreve um fato no passado. Um produtor publica o evento sem chamar diretamente cada consumidor. Um serviço de e-mail pode enviar confirmação; o de analytics pode atualizar uma métrica. O produtor conhece um contrato de evento, e os consumidores podem evoluir separadamente.

Um produtor publica um evento num tópico e consumidores independentes o recebem.
Um produtor publica um evento num tópico e consumidores independentes o recebem.

Abrir diagrama em tamanho original

SNS é um serviço de publicação e distribuição de mensagens na AWS; SQS é uma fila de mensagens; Kafka é um log distribuído que retém eventos para consumidores independentes acompanharem posições. Esses produtos têm garantias e custos diferentes. Uma topologia comum usa SNS para fan-out a várias filas SQS; Kafka pode ser escolhido quando retenção, replay e throughput de log são requisitos importantes.

Eventos introduzem consistência eventual, duplicatas, versionamento de contrato e novas necessidades de observabilidade. O consumidor precisa ser idempotente; publicar um evento e atualizar banco também exige tratar a possibilidade de apenas uma das ações concluir.

Recupere: depois de receber o mesmo evento duas vezes, como o consumidor evita duplicar o efeito?

Material complementar da Fernanda

  • Caso NotiFly: notificações por eventos — Leia o estudo de caso NotiFly e identifique produtor, distribuição e consumidores. Diferencie publicar um fato de confirmar que todos os destinatários já receberam uma notificação.

Pratique com /aprender

/aprender Uma matrícula publica MatriculaConfirmada e dois consumidores trabalham: e-mail e analytics. Peça que eu diferencie produtor, tópico, fila e consumidor. Depois envie o mesmo evento duas vezes e me faça propor uma proteção idempotente.
A SEGUIR · AULA 16

Arquitetura assíncrona: filas e eventos

Material escrito · vídeo previsto para 05/11/2026 · Analise confirmação imediata, processamento em segundo plano, retentativas, idempotência e backpressure.

Ir para a aula 16 →