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
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, sem tempo para dormir :)). Além disso, foi bom trabalhar em equipes e depois debater de acordo com cada resultado.
Alina
Curso - Event Driven Architecture Custom
Máquina Traduzida
Aproveitei muito 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, da linguagem inglesa, da paciência, de que mesmo quando não tínhamos a melhor resposta, ele não dizia que estava errado, mas nos dava exemplos do que poderia ser melhor.
Simona
Curso - Event Driven Architecture Custom
Máquina Traduzida
As discussões abertas e a progressão do entendimento dos problemas/motivos (o `porquê`) até o `EDA`.
Constantin
Curso - Event Driven Architecture Custom
Máquina Traduzida
a abordagem de apresentar coisas com base intensa em interação e exemplos
Virgil
Curso - Event Driven Architecture Custom
Máquina Traduzida
A natureza interativa do curso A abordagem de aprendizagem por autodescoberta, onde vocês encontravam as respostas por si mesmos 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 conhecido e paciente.
Robert
Curso - Event Driven Architecture Custom
Máquina Traduzida