Ponte en Contacto

Temario del curso

Día 1: Fundamentos de la Arquitectura Orientada a Eventos en Go

  • Introducción a la EDA
    • ¿Qué es la Arquitectura Orientada a Eventos?/li>
    • Comparación entre Sistemas Monolíticos, Microservicios y Orientados a Eventos
    • Por qué el modelo de concurrencia de Go y sus goroutines livianas lo hacen ideal para la EDA
  • Conceptos Clave y Beneficios
    • Desacoplamiento, escalabilidad y resiliencia en sistemas empresariales
    • Definición de Eventos, Productores, Consumidores y Corredores de Eventos (Event Brokers)
    • Ejemplos del mundo real y casos de estudio donde Go impulsa sistemas de eventos de alto rendimiento
  • Teorema CAP y Compensaciones (Trade-offs) en la EDA
    • Resumen de Consistencia, Disponibilidad y Tolerancia a Particiones
    • Impacto de la EDA en estas propiedades
    • Estrategias para equilibrar la consistencia y la disponibilidad en sistemas basados en Go

Día 2: Eventos, Mensajes y Patrones de Comunicación en Go

  • Comprensión de los Tipos de Eventos
    • Eventos de Dominio vs. Eventos de Integración
    • Eventos Sincrónicos vs. Asíncronos en aplicaciones Go
  • Patrones de Mensajería en la Práctica
    • Publicación-Suscripción (Pub/Sub) en Go
    • Cómo diseñar y estructurar cargas de eventos utilizando JSON, Protocol Buffers o Avro en Go
  • Implementación del Manejo de Eventos en Go
    • Resumen de las bibliotecas y marcos de trabajo populares de Go para mensajería
    • Ejemplos de código: despacho y procesamiento de eventos utilizando patrones idiomáticos de Go
    • Sesión práctica: Construcción de un servicio orientado a eventos simple en Go

Día 3: Sistemas de Mensajería y Corredores de Eventos con Go

  • Selección e Integración de Corredores de Eventos
    • Resumen de corredores populares: Apache Kafka, RabbitMQ y NATS
    • Comparación de casos de uso y mejores prácticas para sistemas basados en Go
  • Configuración de la Infraestructura de Mensajería
    • Configuración de Docker Compose para Kafka, RabbitMQ o NATS
    • Configuración de temas, intercambios, colas y canales
    • Resumen de bibliotecas de cliente de Go
  • Taller Práctico
    • Construcción de un microservicio de Go de ejemplo que produce y consume eventos
    • Integración del servicio con el corredor de eventos elegido
    • Depuración (debugging) y prueba de flujos de eventos

Día 4: Despliegue, Monitoreo y Temas Avanzados en EDA con Go

  • Despliegue de Aplicaciones Orientadas a Eventos de Go en Kubernetes
    • Contenerización de aplicaciones Go para producción
    • Despliegue de Kafka (u otros corredores) en clústeres de Kubernetes
    • Introducción a KEDA (Escala Automática Orientada a Eventos de Kubernetes) para escalar consumidores de eventos
  • Manejo de Errores y Monitoreo
    • Manejo de fallos de eventos mediante estrategias específicas
    • Implementación de observabilidad en servicios Go
  • Temas Avanzados y Preguntas y Respuestas
    • Exploración de Arquitecturas Sin Servidor (Serverless) Orientadas a Eventos con Go
    • Coreografía de Eventos vs. Orquestación: Casos de uso y consideraciones de diseño
    • Errores comunes, lecciones aprendidas y mejores prácticas
    • Sesión abierta de preguntas y respuestas y solución de problemas interactiva

Requerimientos

  • Dominio de Go (Golang), incluido el uso de goroutines y canales (channels)
  • Comprensión básica de modelos de arquitectura de software, como monolitos y microservicios
  • Familiaridad con Docker y Docker Compose
  • Conocimientos básicos de API de REST y conceptos de redes
  • Experiencia con herramientas de línea de comandos y Git
  • Opcional pero recomendable: exposición previa a Kubernetes y sistemas de mensajería como Kafka, RabbitMQ o NATS

Audiencia

  • Desarrolladores de Go que construyen aplicaciones orientadas a eventos y escalables
  • Ingenieros de software en transición desde arquitecturas monolíticas o basadas en REST hacia sistemas asíncronos
  • Ingenieros DevOps y de cloud que trabajan con microservicios contenerizados o distribuidos
  • Arquitectos técnicos y diseñadores de sistemas que exploran patrones de EDA utilizando Go
 28 Horas

Número de participantes


Precio por participante

Reseñas (7)

Próximos cursos

Categorías Relacionadas