Temario del curso
Día 1: Fundamentos de la Arquitectura Dirigida por Eventos en Go
- Introducción a EDA
- ¿Qué es la Arquitectura Dirigida por Eventos?
- Comparación entre sistemas monolíticos, microservicios y dirigidos por eventos.
- Cómo el modelo de concurrencia de Go y las 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 estudios de caso donde Go impulsa sistemas de eventos de alto rendimiento.
- Teorema CAP y Compensaciones en EDA
- Resumen sobre Consistencia, Disponibilidad y Tolerancia a Particiones.
- Impacto de 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 frente asíncronos en aplicaciones Go.
- Patrones de Mensajería en la Práctica
- Publicar/Suscribirse (Pub/Sub) en Go.
- Cómo diseñar y estructurar cargas útiles 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 para mensajería en Go.
- Ejemplos de código: envío y procesamiento de eventos utilizando patrones idiomáticos de Go.
- Sesión práctica: Construcción de un servicio simple dirigido por 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 (topics), intercambios (exchanges), colas y canales.
- Resumen de las bibliotecas 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 seleccionado.
- Depuración y pruebas de flujos de eventos.
Día 4: Despliegue, Monitoreo y Temas Avanzados en EDA con Go
- Despliegue de Aplicaciones Dirigidas por Eventos en Kubernetes
- Contenerización de aplicaciones Go para producción.
- Despliegue de Kafka (u otros brokers) en clústeres de Kubernetes.
- Introducción a KEDA (Kubernetes Event-Driven Autoscaling) para escalar consumidores de eventos.
- Manejo de Errores y Monitoreo
- Manejo de fallos de eventos mediante estrategias definidas.
- Implementación de observabilidad en servicios Go.
- Temas Avanzados y Preguntas y Respuestas
- Exploración de Arquitecturas Dirigidas por Eventos Serverless con Go.
- Coreografía de Eventos vs. Orquestación: Casos de uso y consideraciones de diseño.
- Pitfalls comunes, lecciones aprendidas y mejores prácticas.
- Sesión abierta de preguntas y respuestas y resolución interactiva de problemas.
Requerimientos
- Domino del lenguaje Go (Golang), incluyendo el uso de goroutines y canales.
- 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 útil: exposición previa a Kubernetes y sistemas de mensajería como Kafka, RabbitMQ o NATS.
Público Objetivo
- Desarrolladores de Go que construyen aplicaciones escalables dirigidas por eventos.
- Ingenieros de software que transicionan desde arquitecturas monolíticas o basadas en REST hacia sistemas asíncronos.
- Ingenieros DevOps y cloud que trabajan con microservicios contenerizados o distribuidos.
- Arquitectos técnicos y diseñadores de sistemas que exploran patrones de EDA utilizando Go.
Reseñas (7)
escribimos algunos códigos en Go y aprendemos conceptos relacionados con EDA, como eventos, cuándo y cómo utilizarlos.
Alin
Curso - Event Driven Architecture Custom
Traducción Automática
Fue un curso interactivo, ¡sin tiempo para dormir :)). También fue agradable trabajar en equipos y luego debatir según cada resultado.
Alina
Curso - Event Driven Architecture Custom
Traducción Automática
Disfruté mucho de las discusiones y los ejemplos que se proporcionaron para que pudiéramos llegar por nosotros mismos a las conclusiones que quería compartir con nosotros. Me gustó el ritmo, el inglés, la paciencia; incluso cuando no dábamos la mejor respuesta, no decía que estaba mal, sino que nos ofrecía ejemplos de lo que podría ser mejor.
Simona
Curso - Event Driven Architecture Custom
Traducción Automática
Las discusiones abiertas y el paso de comprender los problemas/razones (el `por qué`) a `EDA`.
Constantin
Curso - Event Driven Architecture Custom
Traducción Automática
el enfoque de presentar las cosas basándose fuertemente en la interacción y los ejemplos
Virgil
Curso - Event Driven Architecture Custom
Traducción Automática
La naturaleza interactiva del curso El enfoque de aprendizaje por autodescubrimiento donde encontrasteis las respuestas vosotros mismos El enfoque práctico con ejemplos de la vida real que hicieron los conceptos más cercanos
Roxana Sandu
Curso - Event Driven Architecture Custom
Traducción Automática
Muy interactivo. El formador era muy conocedor y paciente.
Robert
Curso - Event Driven Architecture Custom
Traducción Automática