Pular para o conteúdo

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.

6
módulos
25
tópicos
55
min para avaliar

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 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

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.