Roteiro: (1) síncrono vs assíncrono e o que um broker oferece; (2) filas, backpressure e a sala de espera; (3) pub/sub; (4) Kafka: log, partições, chaves, grupos, replicação, dimensionamento; (5) semântica de entrega, idempotência, DLQ, schemas; (6) outbox, CDC, sagas, CQRS, event sourcing.
Deixe a turma responder. O ponto: o e-mail não é necessário para responder ao fã, mas está no caminho crítico. Essa é toda a motivação da mensageria.
A reserva de lugares continua síncrona: o fã precisa da resposta agora e ela precisa ser fortemente consistente.
Fila: ler é tirar. Log: ler é olhar, com um marcador por leitor.
Os três pedidos do gancho: carregador do warehouse (histórico), correção da busca (replay), fraude (ordem por pedido). Uma fila não faz nenhum deles.
Os três e-mails da Ana: crash entre o envio e o commit, duas vezes. O e-mail que faltou para o Bruno: crash entre o commit no banco e a publicação (lado do produtor) — resolvido pelo outbox.