Programa do Curso
Dia 1: Fundamentos da Arquitetura Orientada a Eventos em Go
- Introdução à EDA
- O que é Arquitetura Orientada a Eventos?
- Comparação entre Sistemas Monolíticos, Microsserviços e Orientados a Eventos
- Como o modelo de concorrência do Go e as goroutines leves o tornam ideal para EDA
- Conceitos Principais e Benefícios
- Desacoplamento, escalabilidade e resiliência em sistemas empresariais
- Definição de Eventos, Produtores, Consumidores e Brokers de Eventos
- Exemplos do mundo real e estudos de caso onde o Go impulsiona sistemas de eventos de alta performance
- Teorema CAP e Compromissos na EDA
- Noções gerais sobre 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 os Tipos de Eventos
- Eventos de Domínio vs. Eventos de Integração
- Eventos Síncronos vs. Assíncronos em aplicativos Go
- Padrões de Mensageria na Prática
- Publish-Subscribe (Pub/Sub) em Go
- Como projetar e estruturar payloads de eventos usando JSON, Protocol Buffers ou Avro em Go
- Implementando o Tratamento de Eventos em Go
- Visão geral das bibliotecas e frameworks populares de mensageria em Go
- Exemplos de código: envio e processamento de 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 e 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
- Configuração de tópicos, exchanges, filas e canais
- Visão geral das bibliotecas cliente Go
- Workshop Prático
- Criando um microsserviço Go de exemplo que produz e consome eventos
- Integrando o serviço ao broker de eventos escolhido
- Depuração e teste dos fluxos de eventos
Dia 4: Implantação, Monitoramento e Tópicos Avançados em EDA com Go
- Implantando Aplicações Orientadas a Eventos em Go no Kubernetes
- Contêinerizando aplicativos Go para produção
- Implantando Kafka (ou outros brokers) em clusters do Kubernetes
- Introdução ao KEDA (Escalamento de Evento Acionado pelo Kubernetes) para escalar consumidores de eventos
- Tratamento de Erros e Monitoramento
- Lidando com falhas de eventos com estratégias adequadas
- Implementando observabilidade em serviços Go
- Tópicos Avançados e Perguntas e Respostas
- Explorando Arquiteturas Orientadas a Eventos Serverless com Go
- Coreografia de Eventos vs. Orquestração: Casos de uso e considerações de design
- Armadilhas comuns, lições aprendidas e melhores práticas
- Sessão aberta de Perguntas e Respostas e depuração interativa
Requisitos
- Proficiência em Go (Golang), incluindo o uso de goroutines e canais
- Compreensão básica de modelos de arquitetura de software, como monolitos e microsserviços
- 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 ao Kubernetes e sistemas de mensagens como Kafka, RabbitMQ ou NATS
Público-Alvo
- Desenvolvedores Go que constroem aplicativos escaláveis e orientados a eventos
- Engenheiros de software transicionando de arquiteturas monolíticas ou baseadas em REST para sistemas assíncronos
- Engenheiros DevOps e de nuvem que trabalham com microsserviços contêinerizados ou distribuídos
- Arquitetos técnicos e designers de sistemas explorando padrões de EDA usando Go
Testemunhos 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