Programa do Curso

Dia 1: Fundamentos da Arquitetura Orientada a Eventos em Go

  • Introdução à EDA
    • O que é a Arquitetura Orientada a Eventos?
    • Comparação entre Sistemas Monolíticos, Microservices e Orientados a Eventos
    • Como o modelo de concorrência do Go e as goroutines leves o tornam ideal para EDA
  • Conceitos Principais & Benefícios
    • Desacoplamento, escalabilidade e resiliência em sistemas empresariais
    • Definindo Eventos, Produtores, Consumidores e Corretores de Eventos
    • Exemplos do mundo real e estudos de caso onde o Go impulsiona sistemas de eventos de alto desempenho
  • Teorema CAP & Trade-offs na EDA
    • Visão geral da Consistência, Disponibilidade e Tolerância a Partições
    • Impacto da EDA nessas propriedades
    • Estratégias para equilibrar consistência e disponibilidade em sistemas baseados em Go

Dia 2: Eventos, Mensagens e Padrões de Comunicação em Go

  • Compreendendo Tipos de Eventos
    • Eventos do Domínio vs. Eventos de Integração
    • Eventos Síncronos vs. Assíncronos em aplicações Go
  • Padrões de Mensagem na Prática
    • Publicação-Subscrição (Pub/Sub) em Go
    • Como projetar e estruturar payloads de eventos usando JSON, Protocol Buffers ou Avro em Go
  • Implementando Tratamento de Eventos em Go
    • Visão geral das bibliotecas e frameworks populares para mensagens em Go
    • Exemplos de código: despachando e processando eventos usando padrões idiomáticos do Go
    • Sessão prática: Construindo um serviço simples orientado a eventos em Go

Dia 3: Sistemas de Mensagem & Corretores de Eventos com Go

  • Selecionando e Integrando Corretores de Eventos
    • Visão geral dos corretores populares: Apache Kafka, RabbitMQ e NATS
    • Comparação de casos de uso e melhores práticas para sistemas baseados em Go
  • Configurando a Infraestrutura de Mensagem
    • Configuração do Docker Compose para Kafka, RabbitMQ ou NATS
    • Configurando tópicos, exchanges, filas e canais
    • Visão geral das bibliotecas cliente Go
  • Sessão Prática
    • Construindo um microserviço de amostra em Go que produz e consome eventos
    • Integrando o serviço com o corretor de eventos escolhido
    • Depurando e testando fluxos de eventos

Dia 4: Implantação, Monitoramento e Tópicos Avançados em Go EDA

  • Implantando Aplicativos Orientados a Eventos do Go no Kubernetes
    • Contêinerizando aplicações Go para produção
    • Implantando Kafka (ou outros corretores) em clusters Kubernetes
    • Introdução ao KEDA (Kubernetes Event-Driven Autoscaling) para escalar consumidores de eventos
  • Tratamento de Erros e Monitoramento
    • Lidando com falhas de eventos usando estratégias
    • Implementando observabilidade em serviços Go
  • Tópicos Avançados & Perguntas e Respostas
    • Explorando Arquiteturas Orientadas a Eventos Sem-Servidor com Go
    • Coreografia de Eventos vs. Orquestração: Casos de uso e considerações de design
    • Pitfalls comuns, lições aprendidas e melhores práticas
    • Sessão aberta de perguntas e respostas e solução de problemas interativa

Requisitos

  • Proficiência em Go (Golang), incluindo o uso de goroutines e canais
  • Compreensão básica dos modelos de arquitetura de software, como monolitos e microservices
  • Familiaridade com Docker e Docker Compose
  • Conhecimento básico de APIs REST e conceitos de rede
  • Experiência com ferramentas de linha de comando e Git
  • Opcional, mas útil: exposição prévia a Kubernetes e sistemas de mensagens como Kafka, RabbitMQ ou NATS

Público-Alvo

  • Desenvolvedores Go construindo aplicativos escaláveis orientados a eventos
  • Engenheiros de software em transição de arquiteturas monolíticas ou baseadas em REST para sistemas assíncronos
  • Engenheiros DevOps e nuvem trabalhando com microservices contêinerizados ou distribuídos
  • Arquitetos técnicos e designers de sistemas explorando padrões EDA usando Go
 28 Horas

Declaração de Clientes (7)

Próximas Formações Provisórias

Categorias Relacionadas