Curso Event-Driven Architecture Fundamentals e Design Patterns

  • DevOps | CI | CD | Kubernetes | Web3

Curso Event-Driven Architecture Fundamentals e Design Patterns

24 horas
Visão Geral

O curso Event-Driven Architecture Fundamentals & Design Patterns apresenta os fundamentos, conceitos, componentes e padrões de projeto utilizados na construção de arquiteturas orientadas a eventos (Event-Driven Architecture – EDA).

Os participantes aprenderão como projetar sistemas distribuídos baseados em eventos, compreender a comunicação assíncrona entre serviços, utilizar event brokers, implementar padrões como Event Notification, Event-Carried State Transfer, Event Sourcing, CQRS e Saga, além de analisar questões de consistência, confiabilidade, escalabilidade, observabilidade e governança.

O treinamento combina fundamentos conceituais, arquitetura, padrões de projeto e exercícios práticos, permitindo que os participantes desenvolvam uma visão completa para projetar soluções modernas baseadas em eventos.

Objetivo

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

  • Compreender os fundamentos da Arquitetura Orientada a Eventos
  • Diferenciar arquiteturas síncronas e assíncronas
  • Identificar quando utilizar uma arquitetura orientada a eventos
  • Compreender os principais componentes de uma plataforma de eventos
  • Projetar produtores e consumidores de eventos
  • Compreender Event Brokers e Event Streaming Platforms
  • Aplicar padrões de comunicação orientados a eventos
  • Projetar arquiteturas baseadas em eventos para microservices
  • Compreender conceitos de Event Sourcing e CQRS
  • Aplicar o padrão Saga para transações distribuídas
  • Trabalhar com idempotência, retries e Dead Letter Queues
  • Projetar mecanismos de entrega e processamento de eventos
  • Compreender garantias de entrega e ordenação de eventos
  • Projetar estratégias para tratamento de falhas
  • Implementar conceitos de observabilidade em arquiteturas orientadas a eventos
  • Avaliar aspectos de segurança e governança
  • Identificar problemas comuns em arquiteturas event-driven
  • Desenvolver uma arquitetura de referência orientada a eventos
Publico Alvo
  • Arquitetos de Software
  • Arquitetos de Soluções
  • Engenheiros de Software
  • Desenvolvedores Backend
  • Engenheiros de Integração
  • Engenheiros DevOps
  • Engenheiros de Plataforma
  • Profissionais de Cloud Computing
  • Profissionais de Microservices
  • Tech Leads
  • Desenvolvedores de sistemas distribuídos
  • Profissionais envolvidos em integração de aplicações
  • Profissionais que trabalham com APIs, mensageria e sistemas distribuídos
  • Profissionais de tecnologia envolvidos na modernização de aplicações
Pre-Requisitos
  • Conhecimentos básicos de desenvolvimento de software
  • Conhecimentos básicos de APIs e integração de sistemas
  • Conhecimentos básicos de arquitetura de software
  • Conhecimentos básicos de sistemas distribuídos
  • Familiaridade com conceitos de microservices é recomendada
  • Conhecimentos básicos de cloud computing são desejáveis
Informações Gerais

Metodologia

O treinamento utiliza uma abordagem teórico-prática, combinando:

  • Conceitos de arquitetura
  • Estudos de casos
  • Análise de arquiteturas reais
  • Design Patterns
  • Discussões de arquitetura
  • Exercícios de modelagem
  • Laboratórios hands-on
  • Troubleshooting
  • Projeto final de arquitetura

Resultado Esperado

Ao final do treinamento, o participante estará preparado para analisar, projetar e implementar arquiteturas orientadas a eventos, selecionando padrões, tecnologias e estratégias adequadas para cenários de microservices, integração de sistemas, processamento assíncrono e plataformas de eventos.

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. Conceito de evento
  3. Evento versus mensagem
  4. Evento versus comando
  5. Evento versus estado
  6. Características de sistemas orientados a eventos
  7. Arquiteturas síncronas versus assíncronas
  8. Comunicação request/response
  9. Comunicação baseada em eventos
  10. Benefícios da arquitetura orientada a eventos
  11. Desafios e limitações
  12. Casos de uso
  13. Quando utilizar EDA
  14. Quando evitar EDA

Módulo 2 – Fundamentos de Sistemas Distribuídos

  1. Conceitos de sistemas distribuídos
  2. Comunicação entre serviços
  3. Latência e disponibilidade
  4. Falhas parciais
  5. Network partitions
  6. Consistência e disponibilidade
  7. CAP Theorem
  8. Eventual Consistency
  9. Distributed Transactions
  10. Problemas de sincronização
  11. Resiliência em sistemas distribuídos

Módulo 3 – Componentes de uma Arquitetura Orientada a Eventos

  1. Event Producers
  2. Event Consumers
  3. Event Brokers
  4. Event Channels
  5. Topics
  6. Queues
  7. Partitions
  8. Consumer Groups
  9. Event Streams
  10. Event Store
  11. Event Router
  12. Schema Registry
  13. Dead Letter Queue
  14. Retry Mechanisms

Módulo 4 – Event Brokers e Event Streaming

  1. Conceito de Message Broker
  2. Message Queue
  3. Event Streaming Platform
  4. Publish/Subscribe
  5. Point-to-Point
  6. Topics e subscriptions
  7. Particionamento
  8. Consumer Groups
  9. Offset
  10. Retenção de eventos
  11. Replay de eventos
  12. Ordenação
  13. Escalabilidade horizontal
  14. Comparação entre Kafka, RabbitMQ e outras tecnologias

Módulo 5 – Event Design

  1. Como projetar eventos
  2. Event Naming
  3. Event Payload
  4. Event Metadata
  5. Event Headers
  6. Event Versioning
  7. Event Schema
  8. Schema Evolution
  9. Backward Compatibility
  10. Forward Compatibility
  11. Eventos imutáveis
  12. Eventos de negócio
  13. Domain Events
  14. Integration Events
  15. Eventos técnicos

Módulo 6 – Principais Design Patterns

  1. Event Notification
  2. Event-Carried State Transfer
  3. Event Sourcing
  4. CQRS
  5. Saga
  6. Transactional Outbox
  7. Inbox Pattern
  8. Competing Consumers
  9. Claim Check
  10. Message Routing
  11. Aggregator
  12. Message Filter
  13. Retry Pattern
  14. Dead Letter Channel
  15. Idempotent Consumer
  16. Correlation Identifier

Módulo 7 – Event-Driven Microservices

  1. EDA e Microservices
  2. Comunicação entre microservices
  3. Loose Coupling
  4. Autonomia dos serviços
  5. Domain Events
  6. Bounded Contexts
  7. Integração entre domínios
  8. Event choreography
  9. Event orchestration
  10. Comunicação síncrona e assíncrona
  11. Service boundaries
  12. Evolução de microservices orientados a eventos

Módulo 8 – Event Sourcing e CQRS

  1. Introdução ao Event Sourcing
  2. Event Store
  3. Event replay
  4. Estado derivado de eventos
  5. CQRS
  6. Command Model
  7. Query Model
  8. Separação de leitura e escrita
  9. Projeções
  10. Materialized Views
  11. Consistência eventual
  12. Quando utilizar Event Sourcing
  13. Quando evitar Event Sourcing
  14. Event Sourcing + CQRS

Módulo 9 – Saga e Transações Distribuídas

  1. Problema das transações distribuídas
  2. Distributed Transactions
  3. Two-Phase Commit
  4. Saga Pattern
  5. Saga Choreography
  6. Saga Orchestration
  7. Compensating Transactions
  8. Failure Handling
  9. Idempotência
  10. Timeouts
  11. Retries
  12. Cenários de recuperação

Módulo 10 – Confiabilidade e Resiliência

  1. At-most-once
  2. At-least-once
  3. Exactly-once
  4. Message duplication
  5. Idempotency
  6. Retry policies
  7. Exponential Backoff
  8. Dead Letter Queue
  9. Poison Messages
  10. Timeout
  11. Circuit Breaker
  12. Backpressure
  13. Rate Limiting
  14. Failure Recovery
  15. Disaster Recovery

Módulo 11 – Consistência, Ordenação e Processamento

  1. Event ordering
  2. Partition ordering
  3. Global ordering
  4. Eventual consistency
  5. Duplicate events
  6. Out-of-order events
  7. Late events
  8. Event replay
  9. Consumer offsets
  10. Exactly-once processing
  11. Stateful processing
  12. Stream processing

Módulo 12 – Observabilidade em Arquiteturas Orientadas a Eventos

  1. Logs
  2. Metrics
  3. Distributed Tracing
  4. Correlation ID
  5. Trace ID
  6. Event flow monitoring
  7. Consumer lag
  8. Throughput
  9. Latency
  10. Error rate
  11. Dead Letter monitoring
  12. OpenTelemetry
  13. Prometheus
  14. Grafana
  15. Troubleshooting de fluxos assíncronos

Módulo 13 – Segurança e Governança

  1. Segurança em Event Brokers
  2. Authentication
  3. Authorization
  4. TLS
  5. Encryption
  6. Access Control
  7. Topic-level permissions
  8. Data protection
  9. Sensitive information in events
  10. Event governance
  11. Schema governance
  12. Data retention
  13. Audit trails
  14. Compliance
  15. Event lifecycle management

Módulo 14 – Arquitetura de Referência

  1. Definição de requisitos
  2. Identificação dos eventos
  3. Identificação de produtores
  4. Identificação de consumidores
  5. Definição dos tópicos
  6. Definição dos schemas
  7. Estratégia de particionamento
  8. Estratégia de entrega
  9. Estratégia de retry
  10. Estratégia de observabilidade
  11. Estratégia de segurança
  12. Estratégia de governança
  13. Dimensionamento
  14. Alta disponibilidade
  15. Disaster Recovery

Módulo 15 – Laboratório Prático

Laboratório 1 – Criando um Event Producer

  • Criar aplicação produtora
  • Criar evento de negócio
  • Publicar evento
  • Definir payload
  • Adicionar metadata

Laboratório 2 – Criando um Event Consumer

  1. Criar consumidor
  2. Consumir eventos
  3. Processar mensagens
  4. Implementar tratamento de erros
  5. Implementar idempotência

Laboratório 3 – Publish/Subscribe

  1. Criar tópico
  2. Criar múltiplos consumidores
  3. Configurar consumer groups
  4. Testar distribuição de eventos

Laboratório 4 – Retry e Dead Letter Queue

  1. Simular falha
  2. Implementar retry
  3. Configurar backoff
  4. Encaminhar mensagens para DLQ
  5. Recuperar mensagens

Laboratório 5 – Event-Driven Microservices

  1. Criar arquitetura com múltiplos serviços
  2. Publicar Domain Events
  3. Integrar microservices
  4. Implementar comunicação assíncrona
  5. Testar falhas e recuperação

Laboratório 6 – Projeto Final

Desenvolvimento de uma arquitetura orientada a eventos de referência, contemplando:

  • Event Producers
  • Event Consumers
  • Event Broker
  • Topics
  • Consumer Groups
  • Event Schema
  • Retry
  • Dead Letter Queue
  • Idempotency
  • Observability
  • Error Handling
  • Security
  • Architecture Documentation
TENHO INTERESSE

Cursos Relacionados

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Ansible Overview of Ansible architecture

16h

Curso Arquitetura AI-First com Azure

24 horas

Curso Arquitetura AI-First com Kubernetes

24 horas

Curso Desenvolvimento AI-First com Python

24 horas

Curso Deep Learning aplicado a Arquiteturas AI-First

24 horas