Ponte en Contacto
 Duración 28 horas

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?
    • Comparación entre sistemas Monolíticos, Microservicios y Orientados a Eventos
    • Cómo el modelo de concurrencia de Go y sus goroutines ligeras lo hacen ideal para 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 potencia sistemas de eventos de alto rendimiento
  • Teorema CAP y Compensaciones en 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 Sincrónicos vs. Asíncronos en aplicaciones Go
  • Patrones de Mensajería en la Práctica
    • Publicar-Suscribir (Pub/Sub) en Go
    • Cómo diseñar y estructurar payloads de eventos utilizando JSON, Protocol Buffers o Avro en Go
  • Implementación del Manejo de Eventos en Go
    • Resumen de populares bibliotecas y frameworks 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 sencillo 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 topics, exchanges, colas (queues) y canales
    • Resumen de bibliotecas cliente de Go
  • Taller Práctico
    • Construcción de un microservicio de Go de muestra que produce y consume eventos
    • Integración del servicio con el broker de eventos elegido
    • Depuración y prueba de flujos de eventos

Día 4: Implementación, Supervisión y Temas Avanzados en EDA con Go

  • Implementación de Aplicaciones Orientadas a Eventos de Go en Kubernetes
    • Contenerización de aplicaciones Go para producción
    • Implementación 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 Supervisión
    • Manejo de fallas de eventos mediante estrategias específicas
    • Implementación de observabilidad en servicios Go
  • Temas Avanzados y Q&A
    • Exploración de Arquitecturas Orientadas a Eventos Serverless con Go
    • Coreografía de Eventos vs. Orquestación: Casos de uso y consideraciones de diseño
    • Pieles comunes, lecciones aprendidas y mejores prácticas
    • Sesión abierta de Q&A y resolució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 APIs REST y conceptos de redes.
  • Experiencia con herramientas de línea de comandos y Git.
  • Opcional pero recomendable: experiencia previa con Kubernetes y sistemas de mensajería como Kafka, RabbitMQ o NATS.

Audiencia

  • Desarrolladores de Go que construyen aplicaciones escalables y orientadas a eventos.
  • Ingenieros de software que transicionan 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