Curso Domain-Driven Design with Kafka (DDD + EDA)

  • DevOps | CI | CD | Kubernetes | Web3

Curso Domain-Driven Design with Kafka (DDD + EDA)

40h
Visão Geral

Este curso ensina, de forma prática e aplicada, como unir os princípios de Domain-Driven Design (DDD) com arquiteturas orientadas a eventos utilizando Apache Kafka como backbone. Você aprenderá a modelar domínios complexos, criar bounded contexts, definir eventos de domínio, projetar agregados consistentes e construir sistemas distribuídos altamente desacoplados, escaláveis e evolutivos.

Objetivo

Após realizar este curso, você será capaz de:

  • Aplicar DDD na divisão estratégica e tática de sistemas complexos
  • Criar bounded contexts claros e alinhados ao negócio
  • Transformar regras de domínio em eventos de domínio publicados no Kafka
  • Orquestrar interações entre microserviços usando event-driven architecture
  • Projetar agregados consistentes e resilientes
  • Utilizar Kafka como “event backbone” entre contextos
  • Construir aplicações altamente desacopladas, escaláveis e auditáveis
Publico Alvo
  • Engenheiros de Dados
  • Desenvolvedores Backend
  • Arquitetos de Software
  • Tech Leads
  • Profissionais que trabalham com sistemas complexos orientados a eventos
  • Times que desejam aplicar DDD em soluções modernas com Kafka
Pre-Requisitos
  • Conhecimento básico de Apache Kafka
  • Noções de microserviços
  • Familiaridade com modelagem de sistemas
  • Experiência com alguma linguagem backend (Java/Go/Node/Python)
Conteúdo Programatico

Module 1 — Introduction to DDD & Event-Driven Architecture

  1. DDD strategic vs tactical layers
  2. EDA fundamentals
  3. Why DDD and Kafka work well together

Module 2 — Strategic DDD: Understanding the Domain

  1. Domain discovery techniques
  2. Subdomains: core, supporting, and generic
  3. Bounded contexts and context maps

Module 3 — Event Modeling and Event Storming

  1. Event Storming fundamentals
  2. Discovering domain events
  3. Mapping commands, aggregates, and policies

Module 4 — Designing Domain Events for Kafka

  1. Domain events vs Kafka events
  2. Event naming conventions
  3. Event versioning and evolution
  4. Designing schemas using Schema Registry

Module 5 — Aggregates and Consistency Boundaries

  1. Aggregate roots and invariants
  2. Transaction boundaries
  3. Event-based aggregate persistence

Module 6 — Implementing DDD Tactical Patterns

  1. Entities, value objects, and domain services
  2. Factories and repositories
  3. Domain-centric validation rules

Module 7 — Integrating Bounded Contexts via Kafka

  1. Context mapping with event streams
  2. Anti-corruption layer patterns
  3. Message translation between contexts

Module 8 — Handling Commands & Business Logic

  1. Command validation patterns
  2. Generating events from domain logic
  3. Ensuring idempotency and consistency

Module 9 — Event Publishing & Subscription Patterns

  1. Outbox pattern for reliability
  2. CDC-driven event publishing with Debezium
  3. Choreography vs orchestration

Module 10 — Event Processing with Kafka Streams

  1. Building projections
  2. Creating materialized views
  3. Implementing sagas with Kafka Streams

Module 11 — Resilience and Error Handling

  1. DLQs and retry strategies
  2. Managing schema evolution
  3. Ensuring fault tolerance and reprocessability

Module 12 — Observability in DDD + Kafka Systems

  1. Tracing domain events end-to-end
  2. Metrics for aggregates and streams
  3. Event auditing and replay tracking

Module 13 — Evolving the Domain

  1. Refactoring bounded contexts
  2. Business-driven event evolution
  3. Maintaining backward compatibility

Module 14 — Capstone Project

  1. Full DDD + Kafka domain design
  2. Event Storming → bounded context → aggregates
  3. Implementing command → event → projection flow
  4. Deploying a production-ready domain-driven event system
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h