Ponte en Contacto
 Duración 28 horas

Temario del curso

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

  • Introducción a la EDA
    • ¿Qué es la Arquitectura Basada en Eventos?
    • Comparación entre sistemas monolíticos, microservicios y basados en eventos
    • Cómo el modelo de concurrencia de Go y sus goroutines ligeras lo hacen ideal para la EDA
  • Conceptos clave y beneficios
    • Desacoplamiento, escalabilidad y resiliencia en sistemas empresariales
    • Definición de eventos, productores, consumidores y brokers de eventos
    • 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 consistencia y 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 síncronos vs. asíncronos en aplicaciones de Go
  • Patrones de mensajería en la práctica
    • Publicar-Suscribir (Pub/Sub) en Go
    • Cómo diseñar y estructurar cargas de eventos (event payloads) utilizando JSON, Protocol Buffers o Avro en Go
  • Implementación del manejo de eventos en Go
    • Resumen de librerías y frameworks 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 simple basado en eventos en Go

Día 3: Sistemas de mensajería y brokers de eventos con Go

  • Selección e integración de brokers de eventos
    • Resumen de brokers 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 con Docker Compose para Kafka, RabbitMQ o NATS
    • Configuración de temas, intercambios (exchanges), colas (queues) y canales
    • Resumen de librerías de cliente de Go
  • Taller práctico
    • Construcción de un microservicio de muestra en Go que produce y consume eventos
    • Integración del servicio con el broker de eventos elegido
    • Depuración (debugging) y pruebas de flujos de eventos

Día 4: Despliegue, monitorización y temas avanzados en EDA con Go

  • Despliegue de aplicaciones basadas en eventos de Go en Kubernetes
    • Contenerización de aplicaciones de Go para producción
    • Despliegue de Kafka (u otros brokers) en clústeres de Kubernetes
    • Introducción a KEDA (Kubernetes Event-Driven Autoscaling) para el escalado de consumidores de eventos
  • Manejo de errores y monitorización
    • Gestión de fallos de eventos mediante estrategias específicas
    • Implementación de observabilidad en servicios de Go
  • Temas avanzados y sesión de preguntas y respuestas
    • Exploración de arquitecturas basadas en eventos serverless con Go
    • Coreografía vs. Orquestación de eventos: casos de uso y consideraciones de diseño
    • Piesas comunes, lecciones aprendidas y mejores prácticas
    • Sesión abierta de preguntas y respuestas y solución interactiva de problemas (troubleshooting)

Requerimientos

  • Dominio de Go (Golang), incluido el uso de goroutines y 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 APIs 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 escalables basadas en eventos.
  • Ingenieros de software que transitan desde arquitecturas monolíticas o basadas en REST hacia sistemas asíncronos.
  • Ingenieros de DevOps y en la nube que trabajan con microservicios contenerizados o distribuidos.
  • Arquitectos técnicos y diseñadores de sistemas que exploran patrones de EDA utilizando Go.

Número de participantes


Precio por participante

Reseñas (7)

Próximos cursos

Categorías Relacionadas