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
Declaração de Clientes (7)
escrevemos alguns códigos em GO e aprendemos algumas coisas sobre EDA como eventos, quando e como.
Alin
Curso - Event Driven Architecture Custom
Máquina Traduzida
Foi um curso interativo, não sobrou tempo para dormir :)). Também foi agradável trabalhar em equipes e depois debater de acordo com cada resultado.
Alina
Curso - Event Driven Architecture Custom
Máquina Traduzida
Aproveitei mais as discussões e os exemplos fornecidos para que pudéssemos chegar por nós mesmos às conclusões que ele queria compartilhar conosco. Gostei do ritmo, do inglês, da paciência dele, pois mesmo quando não chegávamos à melhor resposta, ele não dizia que estávamos errados, mas fornecia exemplos do que poderia ser melhor.
Simona
Curso - Event Driven Architecture Custom
Máquina Traduzida
As discussões abertas e a transição de entender os problemas/motivos (o `porquê`) para `EDA`.
Constantin
Curso - Event Driven Architecture Custom
Máquina Traduzida
a abordagem de apresentar conceitos com base significativa em interação e exemplos
Virgil
Curso - Event Driven Architecture Custom
Máquina Traduzida
A nature interativa do curso O método de aprendizagem por autodescoberta, onde você encontrou as respostas por si mesmo O foco prático com exemplos da vida real que tornaram os conceitos mais relacionáveis
Roxana Sandu
Curso - Event Driven Architecture Custom
Máquina Traduzida
Muito interativo. O instrutor era muito conhecedor e paciente.
Robert
Curso - Event Driven Architecture Custom
Máquina Traduzida