Programa do Curso

Dia 1: Fundamentos da Arquitetura Event-Driven em Go

  • Introdução à EDA
    • O que é Arquitetura Event-Driven?
    • Comparando Monólitos, Microservices e Sistemas Event-Driven
    • Como o modelo de concorrência e goroutines leves do Go tornam-no ideal para EDA
  • Conceitos Básicos & Benefícios
    • Desacoplamento, escalabilidade e resiliência em sistemas empresariais
    • Definindo Eventos, Produtores, Consumidores e Brokers de Eventos
    • Exemplos do mundo real e estudos de caso onde o Go alimenta sistemas de eventos de alto desempenho
  • Teorema CAP & Trade-offs na EDA
    • Visão geral de 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 Communication em Go

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

Dia 3: Sistemas de Mensageria & Brokers de Eventos com Go

  • Selecionando e Integrando Brokers de Eventos
    • Visão geral de brokers populares: Apache Kafka, RabbitMQ e NATS
    • Comparação de casos de uso e melhores práticas para sistemas baseados em Go
  • Criando a Infraestrutura de Mensageria
    • Docker Compose setup para Kafka, RabbitMQ, ou NATS
    • Configurando tópicos, trocas, filas e canais
    • Visão geral das bibliotecas do cliente do Go
  • Sessão Prática
    • Criando um microsserviço de exemplo em Go que produz e consome eventos
    • Integrando o serviço com o broker de eventos escolhido
    • Depurando e testando fluxos de eventos

Dia 4: Deploy, Monitoramento e Tópicos Avançados na Go EDA

  • Deploy de Aplicações Orientadas a Eventos do Go no Kubernetes
    • Contêinerizando aplicações do Go para produção
    • Deploying Kafka (ou outros brokers) em clusters de Kubernetes
    • Introdução ao KEDA (Kubernetes Event-Driven Autoscaling) para escalar consumidores de eventos
  • Gestão de Erros e Monitoramento
    • Gerenciando falhas de evento com estratégias
    • Implementando observabilidade em serviços do Go
  • Tópicos Avançados & Perguntas e Respostas
    • Explorando Arquiteturas Event-Driven sem Servidores com Go
    • Orquestração vs. Coreografia de Eventos: 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 interativa de problemas

 

Requisitos

  • Proficiência em Go (Golang), incluindo o uso de goroutines e canais
  • Compreensão básica de modelos de arquitetura de software como monólitos e microserviços
  • Familiaridade com Docker e Docker Compose
  • Conhecimentos básicos sobre APIs REST e conceitos de rede
  • Experiência com ferramentas de linha de comando e Git
  • Opcional, mas útil: exposição anterior a Kubernetes e sistemas de mensageria como Kafka, RabbitMQ ou NATS

Áudience

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

Declaração de Clientes (7)

Próximas Formações Provisórias

Categorias Relacionadas