Curso Event-Driven Architecture

  • DevOps | CI | CD | Kubernetes | Web3

Curso Event-Driven Architecture

24 horas
Visão Geral

O curso Event-Driven Architecture (EDA) apresenta os fundamentos, princípios, padrões e práticas para projetar sistemas distribuídos orientados a eventos.

Os participantes compreenderão como utilizar eventos, produtores, consumidores, brokers, tópicos, filas e streams para construir aplicações desacopladas, escaláveis, resilientes e capazes de processar informações em tempo real.

O treinamento aborda a diferença entre comunicação síncrona e assíncrona, eventos de domínio, integração entre microsserviços, Event Streaming, Publish/Subscribe, Event Sourcing, CQRS, Saga, Outbox Pattern e Eventual Consistency, além dos principais desafios relacionados à entrega, ordenação, duplicidade e processamento de eventos.

Também serão explorados aspectos de segurança, observabilidade, governança e operação de arquiteturas orientadas a eventos.

O curso possui abordagem prática, com modelagem de arquiteturas e laboratório utilizando tecnologias de mensageria e streaming de eventos.

Objetivo

Após realizar este curso Event-Driven Architecture, você será capaz de:

  • Compreender os fundamentos de arquiteturas orientadas a eventos.
  • Diferenciar comunicação síncrona e assíncrona.
  • Identificar quando utilizar Event-Driven Architecture.
  • Projetar sistemas baseados em eventos.
  • Diferenciar eventos, comandos e mensagens.
  • Compreender o funcionamento de Event Brokers.
  • Trabalhar com Producers e Consumers.
  • Projetar arquiteturas Publish/Subscribe.
  • Utilizar filas, tópicos e streams.
  • Projetar integração orientada a eventos entre microsserviços.
  • Aplicar padrões de integração assíncrona.
  • Trabalhar com Eventual Consistency.
  • Aplicar idempotência no processamento de eventos.
  • Projetar estratégias de retry e tratamento de falhas.
  • Compreender Dead Letter Queues.
  • Aplicar o Outbox Pattern.
  • Compreender Saga Pattern.
  • Compreender Event Sourcing e CQRS.
  • Projetar estratégias de observabilidade para sistemas orientados a eventos.
  • Avaliar questões de segurança e governança.
  • Identificar os principais desafios operacionais de ambientes Event-Driven.
Publico Alvo
  • Arquitetos de Soluções
  • Arquitetos de Software
  • Arquitetos de Integração
  • Desenvolvedores de Software
  • Engenheiros de Software
  • Desenvolvedores Backend
  • Tech Leads
  • Engenheiros de Plataforma
  • Engenheiros DevOps
  • Engenheiros Cloud
  • Profissionais de Microsserviços
  • Profissionais de Integração
  • Profissionais de Data Engineering
  • Profissionais envolvidos em sistemas distribuídos
  • Profissionais envolvidos em modernização de aplicações
Pre-Requisitos
  • Conhecimentos básicos de arquitetura de software
  • Conhecimentos de desenvolvimento de sistemas
  • Conhecimentos básicos de APIs e HTTP
  • Familiaridade com microsserviços é recomendada
  • Conhecimentos básicos de bancos de dados
  • Experiência com alguma linguagem de programação será um diferencial
  • Conhecimentos básicos de Docker serão úteis para os laboratórios
Materiais
Inglês/Português + Exercícios + Lab Pratico
Conteúdo Programatico

Módulo 1 – Fundamentos de Event-Driven Architecture

  1. O que é Event-Driven Architecture
  2. Conceitos fundamentais
  3. Eventos
  4. Mensagens
  5. Comandos
  6. Fatos
  7. Produtores
  8. Consumidores
  9. Event Broker
  10. Message Broker
  11. Topics
  12. Queues
  13. Event Streams
  14. Comunicação síncrona
  15. Comunicação assíncrona
  16. Request/Response versus Event-Driven
  17. Benefícios da arquitetura orientada a eventos
  18. Desafios e trade-offs

Módulo 2 – Arquiteturas Orientadas a Eventos

  1. Arquitetura tradicional
  2. Arquitetura baseada em APIs
  3. Arquitetura orientada a eventos
  4. Event-Driven Microservices
  5. Event-Driven Integration
  6. Event Streaming
  7. Publish/Subscribe
  8. Point-to-Point
  9. Broker-based Architecture
  10. Event Mesh
  11. Arquiteturas híbridas
  12. Integração entre sistemas legados e modernos

Módulo 3 – Eventos, Comandos e Mensagens

  1. Conceito de evento
  2. Evento de domínio
  3. Evento de integração
  4. Comando
  5. Mensagem
  6. Event Notification
  7. Event-Carried State Transfer
  8. Event Collaboration
  9. Identificação de eventos
  10. Event naming
  11. Event payload
  12. Event metadata
  13. Event schema
  14. Event envelope
  15. Correlation ID
  16. Causation ID

Módulo 4 – Producers, Consumers e Event Brokers

  1. Event Producers
  2. Event Consumers
  3. Consumer Groups
  4. Topics
  5. Partitions
  6. Queues
  7. Subscriptions
  8. Message routing
  9. Message delivery
  10. Offset
  11. Consumer position
  12. Acknowledgment
  13. Retenção
  14. Replay de eventos
  15. Backpressure
  16. Consumer lag
  17. Escalabilidade horizontal

Módulo 5 – Padrões de Comunicação Assíncrona

  1. Publish/Subscribe
  2. Point-to-Point
  3. Competing Consumers
  4. Request-Reply assíncrono
  5. Event Notification
  6. Event Streaming
  7. Message Router
  8. Message Filter
  9. Message Translator
  10. Aggregator
  11. Splitter
  12. Dead Letter Channel
  13. Retry Pattern
  14. Delayed Message
  15. Priority Message

Módulo 6 – Event-Driven Microservices

  1. Microsserviços orientados a eventos
  2. Comunicação entre microsserviços
  3. Eventos de domínio
  4. Eventos de integração
  5. Bounded Context
  6. Domain Events
  7. Core Domain
  8. Desacoplamento entre serviços
  9. Independência de deployment
  10. Independência de dados
  11. Eventual Consistency
  12. Transações distribuídas
  13. Problemas de integração
  14. Distributed Monolith
  15. Trade-offs

Módulo 7 – Consistência, Entrega e Processamento

  1. Consistência forte versus eventual
  2. At-most-once
  3. At-least-once
  4. Exactly-once
  5. Duplicidade de eventos
  6. Idempotência
  7. Deduplicação
  8. Ordenação
  9. Particionamento
  10. Retry
  11. Exponential Backoff
  12. Dead Letter Queue
  13. Poison Messages
  14. Timeout
  15. Falhas transitórias
  16. Falhas permanentes
  17. Processamento concorrente

Módulo 8 – Padrões Avançados

Outbox Pattern

  1. Problema de dual write
  2. Transactional Outbox
  3. Publicação confiável de eventos
  4. Outbox Processor
  5. CDC

Saga Pattern

  1. Transações distribuídas
  2. Choreography
  3. Orchestration
  4. Compensating Transactions
  5. Failure handling

Outros padrões

  1. Inbox Pattern
  2. Idempotent Consumer
  3. Retry Pattern
  4. Circuit Breaker
  5. Event Carried State Transfer

Módulo 9 – Event Sourcing e CQRS

  1. Conceito de Event Sourcing
  2. Event Store
  3. Eventos como fonte de verdade
  4. Event Replay
  5. Snapshots
  6. Modelagem baseada em eventos
  7. CQRS
  8. Command Model
  9. Query Model
  10. Read Model
  11. Projections
  12. CQRS + Event Sourcing
  13. Benefícios
  14. Limitações
  15. Quando utilizar
  16. Quando evitar

Módulo 10 – Schema e Governança de Eventos

  1. Event Schema
  2. Schema Evolution
  3. Schema Registry
  4. Compatibilidade de schemas
  5. Backward Compatibility
  6. Forward Compatibility
  7. Versionamento de eventos
  8. Event Naming
  9. Data Contracts
  10. Contratos entre produtores e consumidores
  11. Governança
  12. Catálogo de eventos
  13. Event Discovery
  14. Ownership
  15. Retenção
  16. Privacidade dos dados
  17. LGPD aplicada a eventos

Módulo 11 – Segurança e Observabilidade

Segurança

  1. Autenticação
  2. Autorização
  3. TLS
  4. Controle de acesso
  5. Segurança de tópicos
  6. Segurança de consumidores
  7. Segurança de produtores
  8. Secrets Management
  9. Proteção de dados sensíveis

Observabilidade

  1. Logs
  2. Métricas
  3. Distributed Tracing
  4. Correlation ID
  5. Event Trace
  6. Consumer Lag
  7. Throughput
  8. Latência
  9. Taxa de erro
  10. Dead Letter Queue monitoring
  11. Health Checks
  12. Alertas
  13. SRE para sistemas orientados a eventos

Módulo 12 – Laboratório: Construção de uma Arquitetura Event-Driven

Projeto prático completo envolvendo:

  • Definição do cenário de negócio
  • Identificação dos domínios
  • Identificação dos eventos
  • Identificação dos produtores
  • Identificação dos consumidores
  • Definição dos tópicos
  • Definição dos schemas
  • Implementação de produtores
  • Implementação de consumidores
  • Comunicação assíncrona
  • Consumer Groups
  • Processamento de eventos
  • Tratamento de duplicidade
  • Idempotência
  • Retry
  • Dead Letter Queue
  • Monitoramento
  • Rastreamento de eventos
  • Simulação de falhas
  • Replay de eventos
  • Análise da arquitetura
TENHO INTERESSE

Cursos Relacionados

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Data Engineering para Plataformas de IA

24 horas

Curso Databricks Fundamentals - Nivel Basico

24 horas

Curso Databricks Advanced Engineering AI ML and Data Products Nivel Intermediario Avancado

32 horas

Google Professional DevOps Engineer Advanced Monitoring & Incident Response

32 horas Curso Pratico

Curso Kubernetes for Full-Stack Developer

32 horas Curso Pratico