Trilha de estudo
Trilha Arquitetura Orientada a Eventos: tudo o que estudar, tópico por tópico
Avaliação abrangente de arquitetura orientada a eventos, cobrindo fundamentos de eventos, esquemas e contratos de dados, processamento de streams, event sourcing e CQRS, coreografia e sagas, e as garantias de confiabilidade por trás da consistência eventual. Baseada no livro Building Event-Driven Microservices, de Adam Bellemare.
Resposta curta
Para aprender Arquitetura Orientada a Eventos, percorra 6 módulos e 25 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos Orientados a Eventos e siga para Esquemas e Contratos de Dados e Processamento de Eventos. Use o mapa como checklist, ou meça seu nível e estude só o que falta.
O que você vai estudar
Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.
1 · Fundamentos Orientados a Eventos5 tópicos
Eventos como Dados de Primeira Classe
Tratar um evento como um registro imutável de algo que aconteceu — a fonte única de verdade compartilhada entre serviços, em vez de um sinal transitório escondido atrás de uma API
Objetivos
- Explicar por que eventos são tratados como fatos imutáveis de primeira classe em um sistema orientado a eventos
- Distinguir um evento de um comando e de uma chamada transitória de requisição/resposta
Conceitos-chave
- evento como fato imutável
- fonte única de verdade
- evento versus comando
- fato versus estado
- acoplamento fraco
Streams de Eventos versus Filas
A diferença entre um stream de eventos durável e reproduzível, do tipo log somente-acréscimo, e uma fila de mensagens tradicional, na qual mensagens são consumidas e removidas
Objetivos
- Comparar um stream de eventos somente-acréscimo com uma fila destrutiva
- Explicar como a retenção do stream e os offsets permitem múltiplos consumidores independentes
Conceitos-chave
- log somente-acréscimo
- retenção durável
- consumir versus apagar
- offset
- múltiplos consumidores independentes
Notificação de Evento versus Transferência de Estado
Escolher entre mensagens finas de notificação de evento, que sinalizam uma mudança, e a transferência de estado carregada pelo evento, que inclui todos os dados de que o consumidor precisa
Objetivos
- Distinguir notificação de evento da transferência de estado carregada pelo evento
- Escolher o estilo de evento certo com base nas necessidades do consumidor e no acoplamento
Conceitos-chave
- notificação de evento
- transferência de estado carregada pelo evento
- eventos finos versus gordos
- acoplamento por callback do consumidor
- localidade dos dados
Design de Tópicos
Modelar streams de eventos como tópicos: granularidade, a recomendação de uma entidade por tópico, propriedade de único escritor, e como os limites de tópico se alinham às entidades de negócio
Objetivos
- Projetar limites de tópico alinhados às entidades de negócio e a um único escritor
- Avaliar os trade-offs entre tópicos de granularidade fina e grossa
Conceitos-chave
- granularidade de tópico
- entidade por tópico
- princípio do único escritor
- taxonomia de eventos
- limites de tópico
Produtores e Consumidores
O modelo produtor/consumidor: produtores escrevem em tópicos, consumidores leem no seu próprio ritmo via offsets, grupos de consumidores e o desacoplamento que isso cria entre os lados
Objetivos
- Descrever como produtores e consumidores interagem por meio de um stream de eventos
- Explicar como grupos de consumidores e offsets desacoplam produtores de consumidores
Conceitos-chave
- produtor
- consumidor
- grupo de consumidores
- controle de offset
- consumo baseado em pull
2 · Esquemas e Contratos de Dados4 tópicos
Esquemas de Eventos
Definir esquemas de eventos explícitos e serializáveis com Avro ou Protobuf, para que produtores e consumidores compartilhem um contrato fortemente tipado em vez de formatos JSON implícitos
Objetivos
- Explicar por que esquemas de eventos explícitos (Avro/Protobuf) superam JSON implícito
- Selecionar um formato de serialização adequado para um stream de eventos
Conceitos-chave
- Avro
- Protobuf
- esquema explícito
- formato de serialização
- tipagem forte
Evolução e Compatibilidade de Esquemas
Evoluir esquemas de eventos com segurança ao longo do tempo usando regras de compatibilidade retroativa, futura e total, para que produtores e consumidores antigos e novos coexistam
Objetivos
- Classificar uma mudança de esquema como compatível de forma retroativa, futura ou total
- Evoluir um esquema de evento sem quebrar os consumidores existentes
Conceitos-chave
- compatibilidade retroativa
- compatibilidade futura
- compatibilidade total
- valores padrão
- mudança incompatível
Contratos de Dados
Tratar um stream de eventos publicado como um contrato de dados público de longa duração, com propriedade, semântica e garantias de qualidade explícitas das quais os consumidores podem depender
Objetivos
- Definir um contrato de dados para um stream de eventos publicado
- Estabelecer propriedade e política de descontinuação para um stream de eventos público
Conceitos-chave
- contrato de dados
- propriedade do stream
- garantias semânticas
- dependência do consumidor
- política de descontinuação
Registro de Esquemas
Usar um registro central de esquemas para armazenar, versionar e impor a compatibilidade dos esquemas de eventos, de modo que produtores não possam publicar mudanças incompatíveis
Objetivos
- Explicar como um registro de esquemas impõe compatibilidade no momento da publicação
- Descrever como ids de esquema permitem que consumidores desserializem corretamente
Conceitos-chave
- registro de esquemas
- versionamento de esquema
- imposição de compatibilidade
- id de esquema
- governança centralizada
3 · Processamento de Eventos4 tópicos
Processamento de Eventos sem Estado
Processar cada evento de forma independente — transformações, filtros e enriquecimentos que não exigem memória de eventos anteriores e escalam horizontalmente com facilidade
Objetivos
- Identificar processamento que pode permanecer sem estado e escalar livremente
- Projetar um pipeline de transformação e filtragem sem estado sobre um stream de eventos
Conceitos-chave
- transformação sem estado
- filtro
- map
- enriquecimento
- escalabilidade horizontal
Processamento de Eventos com Estado
Processamento que acumula estado entre eventos — agregações, junções, janelamento — apoiado por um armazenamento de estado local e um changelog para tolerância a falhas
Objetivos
- Projetar uma agregação com estado apoiada por um armazenamento de estado tolerante a falhas
- Escolher uma estratégia de janelamento para uma agregação baseada em tempo
Conceitos-chave
- armazenamento de estado
- junção de streams
- janelamento
- agregação
- respaldo por changelog
Particionamento e Ordenação
Como chaves de partição determinam garantias de ordenação e paralelismo: eventos com a mesma chave permanecem ordenados dentro de uma partição, enquanto a ordenação entre partições não é garantida
Objetivos
- Escolher uma chave de partição que preserve a ordenação necessária
- Explicar por que a ordenação entre partições não é garantida e como lidar com isso
Conceitos-chave
- chave de partição
- ordenação por chave
- paralelismo
- partição quente
- reparticionamento
Visões Materializadas
Construir visões materializadas consultáveis consumindo um stream de eventos e mantendo uma tabela local que sempre reflete o estado mais recente para leituras rápidas
Objetivos
- Construir uma visão materializada a partir de um stream de eventos para leituras locais rápidas
- Explicar a dualidade tabela-stream que sustenta as visões materializadas
Conceitos-chave
- visão materializada
- dualidade tabela-stream
- modelo de leitura local
- estado compactado
- otimização de consultas
4 · Padrões de Eventos4 tópicos
Event Sourcing
Persistir o estado como um log ordenado de eventos de domínio em vez de linhas atuais, reconstruindo o estado por meio do replay dos eventos e habilitando auditoria histórica completa
Objetivos
- Explicar como o event sourcing reconstrói o estado reproduzindo eventos
- Descrever quando snapshots são necessários para limitar o custo do replay
Conceitos-chave
- event store
- estado a partir do replay
- histórico somente-acréscimo
- snapshots
- trilha de auditoria
CQRS
Command Query Responsibility Segregation: separar o modelo de escrita, que valida e emite eventos, dos modelos de leitura otimizados de forma independente e construídos a partir desses eventos
Objetivos
- Separar as responsabilidades de comando e consulta com modelos independentes
- Raciocinar sobre o atraso do lado de leitura introduzido pelo CQRS
Conceitos-chave
- modelo de comando
- modelo de consulta
- separação de leitura/escrita
- escalabilidade independente
- consistência eventual de leitura
O Padrão Outbox
Escrever atomicamente o estado de negócio e uma linha de evento na outbox em uma única transação local, e então repassar as linhas da outbox para o stream de eventos, evitando a inconsistência da escrita dupla
Objetivos
- Explicar como o padrão outbox elimina o problema da escrita dupla
- Descrever como um processo de repasse ou CDC publica as linhas da outbox de forma confiável
Conceitos-chave
- problema da escrita dupla
- outbox transacional
- processo de repasse
- captura de dados de mudança
- transação local atômica
Projeções
Construir e reconstruir projeções do lado de leitura dobrando eventos em visões dedicadas, e reproduzir desde o início para recriar uma projeção após uma mudança de modelo
Objetivos
- Projetar uma projeção que dobra eventos em um modelo de leitura dedicado
- Reconstruir uma projeção a partir do log de eventos após uma mudança de modelo
Conceitos-chave
- projeção
- dobra sobre eventos
- modelo de leitura reconstruível
- versionamento de projeção
- replay para reconstruir
5 · Coordenação3 tópicos
Coreografia versus Orquestração
Coordenar fluxos de trabalho entre múltiplos serviços reagindo a eventos (coreografia) versus um coordenador central emitindo comandos (orquestração), e os trade-offs de cada abordagem
Objetivos
- Comparar a coordenação coreografada e orquestrada de um fluxo de trabalho
- Escolher entre coreografia e orquestração para um dado fluxo de trabalho
Conceitos-chave
- coreografia
- orquestração
- coordenador central
- fluxo de trabalho emergente
- trade-offs de acoplamento
Sagas
Gerenciar uma transação distribuída de longa duração como uma sequência de transações locais, cada uma publicando um evento que dispara o próximo passo ou uma ação de compensação em caso de falha
Objetivos
- Decompor uma transação distribuída em uma saga de passos locais
- Explicar por que sagas substituem o commit em duas fases entre serviços
Conceitos-chave
- transação distribuída
- sequência de transações locais
- log da saga
- recuperação progressiva
- sem commit em duas fases
Compensação de Fluxos de Trabalho
Projetar transações de compensação que desfazem semanticamente passos concluídos de uma saga quando um passo posterior falha, já que transações locais commitadas não podem sofrer rollback
Objetivos
- Projetar transações de compensação para uma saga de múltiplos passos
- Tratar falhas parciais em que alguns passos foram commitados e passos posteriores falharam
Conceitos-chave
- transação de compensação
- rollback semântico
- recuperação regressiva
- compensação idempotente
- tratamento de falha parcial
6 · Confiabilidade e Consistência5 tópicos
Garantias de Entrega
Raciocinar sobre as semânticas no-máximo-uma-vez, no-mínimo-uma-vez e exatamente-uma-vez, e por que a entrega no-mínimo-uma-vez somada a consumidores idempotentes é o caminho pragmático para o processamento efetivamente-uma-vez
Objetivos
- Comparar entrega no-máximo-uma-vez, no-mínimo-uma-vez e exatamente-uma-vez
- Explicar como no-mínimo-uma-vez somada à idempotência resulta em processamento efetivamente-uma-vez
Conceitos-chave
- no-máximo-uma-vez
- no-mínimo-uma-vez
- exatamente-uma-vez
- efetivamente-uma-vez
- entrega duplicada
Idempotência
Tornar consumidores seguros sob entrega duplicada e fora de ordem usando chaves de idempotência, deduplicação e semântica de upsert, de modo que o reprocessamento não cause desvio de efeitos colaterais
Objetivos
- Tornar um consumidor idempotente sob entrega duplicada
- Escolher uma estratégia de deduplicação que limite o custo de armazenamento
Conceitos-chave
- chave de idempotência
- deduplicação
- semântica de upsert
- armazenamento de ids processados
- segurança de efeitos colaterais
Dead-Letter e Mensagens Envenenadas
Isolar mensagens envenenadas que falham repetidamente no processamento em um stream de dead-letter, para que não bloqueiem a partição, além de estratégia de retentativa, alertas e reprocessamento
Objetivos
- Projetar tratamento de dead-letter que evite o bloqueio de cabeça de fila
- Definir uma política de retentativa e alertas para mensagens envenenadas
Conceitos-chave
- mensagem envenenada
- fila de dead-letter
- política de retentativa
- bloqueio de cabeça de fila
- reprocessamento
Consistência Eventual
Aceitar que o estado derivado entre serviços converge ao longo do tempo, raciocinar sobre atraso de replicação e anomalias de leitura-das-próprias-escritas, e projetar UX e APIs que as tolerem
Objetivos
- Raciocinar sobre anomalias introduzidas pela consistência eventual
- Projetar APIs e UX que tolerem o atraso de convergência
Conceitos-chave
- convergência
- atraso de replicação
- leitura das próprias escritas
- tolerância a leituras desatualizadas
- fronteira de consistência
Capacidade de Replay
Explorar streams de eventos duráveis para reproduzir o histórico — preenchendo novos consumidores, reconstruindo estado após bugs e inicializando novos serviços a partir do log retido
Objetivos
- Usar replay para preencher um novo consumidor e reconstruir o estado derivado
- Definir uma estratégia de retenção que mantenha o replay viável e econômico
Conceitos-chave
- replay de stream
- preenchimento de consumidor
- reconstrução de estado
- estratégia de retenção
- inicialização de novos consumidores
Níveis: Júnior, Pleno, Sênior e Especialista
Explique com suas palavras
Corrigido por IA · sem cadastro · 1 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
Já estuda Arquitetura Orientada a Eventos?
A avaliação mede tópico por tópico, e o plano pula o que você já sabe.
Aberto para ler. A conta só é necessária para ser medido.
Perguntas frequentes
Por onde começar a estudar Arquitetura Orientada a Eventos?
Comece por Fundamentos Orientados a Eventos: Eventos como Dados de Primeira Classe, Streams de Eventos versus Filas e Notificação de Evento versus Transferência de Estado. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.
Quanto tempo leva uma avaliação completa de Arquitetura Orientada a Eventos?
Uma avaliação completa desta trilha leva cerca de 55 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.
Preciso de conta para usar esta página?
Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.