Programa do Curso

Dia 1: Fundamentos da Arquitetura Event-Driven em Go

  • Introdução ao EDA
    • O que é Arquitetura Event-Driven?
    • Comparando Sistemas Monolíticos, Microservices e 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 reais e estudos de caso onde o Go alimenta sistemas de eventos de alta performance
  • Teorema CAP & Compromissos no EDA
    • Visão geral da Consistência, Disponibilidade e Tolerância a Partições
    • Impacto do EDA nessas propriedades
    • Estratégias para equilibrar consistência e disponibilidade em sistemas baseados no 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
    • Publish-Subscribe (Pub/Sub) no Go 
    • Como projetar e estruturar payloads de eventos usando JSON, Protocol Buffers ou Avro em Go
  • Implementando Manipulação de Eventos em Go
    • Visão geral das bibliotecas e frameworks populares para mensageria no Go 
    • Exemplos de código: despachando e processando eventos usando padrões idiomáticos do Go
    • Sessão prática: 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 dos brokers 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 Mensageria
    • Configuração do Docker Compose para Kafka, RabbitMQ ou NATS
    • Configurando tópicos, trocas, filas e canais
    • Visão geral das bibliotecas de clientes do Go
  • Sessão Prática
    • Construindo um microserviç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 em Go EDA

  • Deploy de Aplicações Event-Driven do Go no Kubernetes
    • Containerizando aplicações do Go para produção
    • Deploying Kafka (ou outros brokers) em clusters do Kubernetes
    • Introdução ao KEDA (Kubernetes Event-Driven Autoscaling) para escalonamento de consumidores de eventos
  • Manipulação de Erros e Monitoramento
    • Lidando com falhas de eventos com estratégias 
    • Implementando observabilidade em serviços do Go
  • Tópicos Avançados & Perguntas e Respostas
    • Explorando Arquiteturas Event-Driven Serverless com Go
    • Choreografia vs. Orquestração 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

Go (Golang) habilidades de programação, incluindo concorrência (goroutines, canais)
Compreensão básica de arquitetura de software (monolitos, microsserviços)
Familiaridade com Docker e Docker Compose
Noções básicas de APIs REST e rede
Experiência com ferramentas CLI e Git
Opcional: Exposição a Kubernetes e sistemas de mensagens (Kafka, RabbitMQ, NATS)
 
 28 Horas

Declaração de Clientes (7)

Próximas Formações Provisórias

Categorias Relacionadas