Envíanos tu consulta
Términos y condiciones *
*Si no puedes asistir en directo te facilitaremos un enlace para verlo en diferido
logoImagina
Formación
Modalidades
Próximas Convocatorias
Temario
FAQ
Solicitar información
iconoCurso

Curso de EDA - Arquitectura Orientada a Eventos

DISPONIBLE EN MODALIDAD:
aMedidaIcon
Aula Virtual Personalizada
arrowRightDark

En este curso, exploraremos los fundamentos de la Arquitectura Orientada a Eventos (EDA), una metodología clave para el diseño de sistemas distribuidos escalables y resilientes. A través de estudios de caso y ejemplos prácticos, aprenderás a modelar eventos, implementar productores y consumidores, y utilizar brokers de mensajes como Kafka y RabbitMQ. Además, profundizaremos en técnicas avanzadas como event sourcing, event streaming, y la consistencia eventual, terminando con un proyecto final que integrará todos estos conceptos en una solución empresarial real.

iconClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClienticonClient

Formación en EDA - Arquitectura Orientada a Eventos bonificable para empresas

A quién va dirigido nuestro curso de EDA - Arquitectura Orientada a Eventos

Arquitectos de software, desarrolladores y profesionales interesados en crear sistemas distribuidos escalables y resilientes.

Objetivos de nuestro curso de EDA - Arquitectura Orientada a Eventos

  • Comprender los principios fundamentales de la arquitectura orientada a eventos.
  • Diseñar e implementar sistemas basados en eventos con Kafka y RabbitMQ.
  • Aplicar técnicas de **event sourcing** y **event streaming** en sistemas distribuidos.
  • Garantizar la **consistencia eventual** y la tolerancia a fallos en sistemas EDA.
  • Desarrollar un proyecto final que integre todos los componentes de una arquitectura EDA.

Qué vas a aprender en nuestro curso de EDA - Arquitectura Orientada a Eventos

En este curso, exploraremos los fundamentos de la Arquitectura Orientada a Eventos (EDA), una metodología clave para el diseño de sistemas distribuidos escalables y resilientes. A través de estudios de caso y ejemplos prácticos, aprenderás a modelar eventos, implementar productores y consumidores, y utilizar brokers de mensajes como Kafka y RabbitMQ. Además, profundizaremos en técnicas avanzadas como event sourcing, event streaming, y la consistencia eventual, terminando con un proyecto final que integrará todos estos conceptos en una solución empresarial real.

Requisitos de nuestro curso de EDA - Arquitectura Orientada a Eventos

  • Experiencia con arquitecturas distribuidas, microservicios y mensajería.
  • Instalaciones previas: Apache Kafka, RabbitMQ, Visual Studio Code, JDK (9 o superior), Python (v3 o superior), Node (LTS) y GIT.
  • Tener un equipo con acceso a un usuario con permisos de instalación, conexión estable a Internet, mínimo 8GB de RAM y mínimo 50GB de memoria en disco libres.

Temario del curso de EDA - Arquitectura Orientada a Eventos

tema 1

Introducción a la Arquitectura Orientada a Eventos

  • Definición de Arquitectura Orientada a Eventos (EDA)
  • Comparación entre EDA y arquitecturas tradicionales (monolítica y SOA)
  • Componentes clave de EDA: eventos, productores y consumidores
  • Tipos de eventos: event sourcing, event notification y event streaming
  • Beneficios de EDA en sistemas distribuidos
  • Desafíos de adoptar EDA en entornos empresariales
  • Casos de uso comunes de EDA: microservicios, IoT, fintech
  • EDA y su relación con la escalabilidad y resiliencia
  • Uso de EDA en entornos de alta disponibilidad
  • Ejemplo práctico: arquitectura orientada a eventos en una aplicación de comercio electrónico
iconArrowDown
tema 2

Eventos: Concepto y Modelado

  • ¿Qué es un evento en EDA?
  • Diferencia entre eventos de datos y eventos de comandos
  • Modelado de eventos en sistemas distribuidos
  • Definición de contratos de eventos: estructura y atributos
  • Enriquecimiento y correlación de eventos
  • Diseño de eventos con alto nivel de cohesión
  • Ejemplo práctico: Modelado de eventos en una plataforma de banca digital
  • Patrones comunes de diseño de eventos
  • Estrategias de versionado de eventos
  • Mejores prácticas para evitar el acoplamiento de eventos
iconArrowDown
tema 3

Productores y Consumidores de Eventos

  • Roles de los productores y consumidores en EDA
  • Tipos de consumidores: síncronos y asíncronos
  • Envío y recepción de eventos: push vs. pull
  • Diseñar productores y consumidores desacoplados
  • Balanceo de carga y escalabilidad en consumidores de eventos
  • Ejemplo práctico: Implementación de productores y consumidores en un sistema de notificaciones
  • Configuración de colas y topics para la gestión de eventos
  • Garantías de entrega: al menos una vez, como máximo una vez, y exactamente una vez
  • Gestión de errores en consumidores de eventos
  • Estrategias para asegurar la entrega de eventos en sistemas distribuidos
iconArrowDown
tema 4

Brokers de Mensajes en EDA

  • Introducción a los brokers de mensajes: función y propósito
  • Principales brokers de mensajes utilizados en EDA: Kafka, RabbitMQ, AWS SNS/SQS
  • Comparativa entre brokers de mensajes populares
  • Implementación de colas y topics en un broker de mensajes
  • Caso práctico: Configuración de Apache Kafka para EDA en una aplicación financiera
  • Garantías de entrega y persistencia en brokers
  • Escalabilidad horizontal en brokers de mensajes
  • Seguridad en la transmisión de eventos a través de brokers
  • Estrategias de monitorización y métricas de brokers
  • Mejores prácticas para la configuración y mantenimiento de brokers
iconArrowDown
tema 5

Event Sourcing: Fundamentos y Aplicaciones

  • Concepto de event sourcing y cómo se relaciona con EDA
  • Diferencias entre event sourcing y almacenamiento de estados
  • Beneficios de event sourcing: auditoría, trazabilidad y reproducción de estados
  • Ejemplo práctico: Implementación de event sourcing en un sistema de gestión de inventarios
  • Almacenamiento de eventos: bases de datos optimizadas para eventos
  • Patrones de event sourcing en microservicios
  • Estrategias de reconstrucción de estados desde eventos históricos
  • Limitaciones y desafíos de event sourcing
  • Mantenimiento del historial de eventos en grandes volúmenes de datos
  • Casos de uso de event sourcing en la industria
iconArrowDown
tema 6

Event Streaming: Procesamiento en Tiempo Real

  • ¿Qué es event streaming y cómo se diferencia del event sourcing?
  • Beneficios de procesar eventos en tiempo real
  • Herramientas de event streaming: Apache Kafka Streams, Apache Flink, AWS Kinesis
  • Ejemplo práctico: Event streaming en tiempo real para detección de fraudes en pagos
  • Patrones comunes de event streaming: filtrado, transformación y agregación
  • Procesamiento de eventos con baja latencia
  • Creación de pipelines de procesamiento de eventos
  • Uso de event streaming en aplicaciones de IoT
  • Monitoreo y mantenimiento de pipelines de streaming en producción
  • Estrategias para la tolerancia a fallos en sistemas de event streaming
iconArrowDown
tema 7

Integración de EDA con Microservicios

  • Relación entre EDA y microservicios
  • Diseño de microservicios basados en eventos
  • Patrones de comunicación entre microservicios utilizando eventos
  • Ejemplo práctico: Desacoplamiento de microservicios mediante eventos en un sistema de pagos
  • Ventajas de usar EDA en microservicios frente a REST y RPC
  • Gestión de transacciones distribuidas en EDA
  • Estrategias para garantizar la consistencia eventual en EDA
  • Aislamiento y resiliencia en sistemas de microservicios orientados a eventos
  • Desafíos de la orquestación de eventos en microservicios
  • Casos de éxito de EDA en arquitecturas de microservicios
iconArrowDown
tema 8

Patrones de Diseño en Arquitectura Orientada a Eventos

  • Introducción a los patrones de diseño en EDA
  • Patrón Publisher-Subscriber (Pub/Sub)
  • Patrón Event-Carried State Transfer
  • Patrón Event-Driven Saga para transacciones distribuidas
  • Ejemplo práctico: Implementación del patrón Saga en una aplicación de comercio electrónico
  • Patrón CQRS (Command Query Responsibility Segregation) con EDA
  • Patrones de retry y compensación en sistemas basados en eventos
  • Patrones de manejo de errores en EDA
  • Implementación de patrones de tolerancia a fallos en EDA
  • Comparativa de patrones de EDA en la industria
iconArrowDown
tema 9

Consistencia Eventual en Sistemas Distribuidos

  • Concepto de consistencia eventual y su importancia en EDA
  • Diferencias entre consistencia fuerte y consistencia eventual
  • Ejemplo práctico: Consistencia eventual en un sistema de logística basado en eventos
  • Garantías de consistencia eventual en brokers de mensajes
  • Patrones de resolución de conflictos en sistemas eventuales
  • Estrategias para asegurar la sincronización de datos en sistemas distribuidos
  • Retos y beneficios de la consistencia eventual en grandes volúmenes de datos
  • Uso de bases de datos distribuidas en EDA
  • Implementación de tolerancia a la latencia en EDA
  • Casos de uso de consistencia eventual en la industria tecnológica
iconArrowDown
tema 10

Monitoreo y Trazabilidad en Arquitecturas Orientadas a Eventos

  • Importancia del monitoreo en sistemas basados en eventos
  • Herramientas de monitoreo de eventos: Prometheus, Grafana, ELK Stack
  • Ejemplo práctico: Monitoreo de eventos en un sistema de pagos digitales
  • Implementación de trazabilidad de eventos en sistemas distribuidos
  • Uso de logs distribuidos para la trazabilidad de eventos
  • Medición de latencia y tiempos de procesamiento en EDA
  • Alertas y notificaciones basadas en eventos
  • Estrategias para identificar cuellos de botella en el procesamiento de eventos
  • Monitoreo de la entrega y el procesamiento de eventos en tiempo real
  • Mejores prácticas para garantizar la disponibilidad y fiabilidad del sistema
iconArrowDown
tema 11

Gestión de Errores y Retries en EDA

  • Tipos de errores comunes en arquitecturas orientadas a eventos
  • Estrategias para gestionar errores en la entrega de eventos
  • Implementación de políticas de retry y backoff exponencial
  • Ejemplo práctico: Gestión de errores en un sistema de pedidos basado en eventos
  • Patrones de compensación en sistemas transaccionales
  • Aislamiento de fallos para evitar la propagación de errores
  • Estrategias para garantizar la integridad de los datos en sistemas basados en eventos
  • Uso de dead-letter queues para eventos fallidos
  • Detección y manejo de duplicados en sistemas de eventos
  • Mejores prácticas para asegurar la fiabilidad en la entrega de eventos
iconArrowDown
tema 12

Seguridad en Arquitecturas Orientadas a Eventos

  • Principales desafíos de seguridad en EDA
  • Protección de datos en tránsito y en reposo
  • Implementación de autenticación y autorización en EDA
  • Ejemplo práctico: Implementación de seguridad en un sistema de facturación basado en eventos
  • Cifrado de mensajes en brokers de eventos
  • Uso de OAuth y JWT para asegurar productores y consumidores
  • Estrategias para prevenir ataques de denegación de servicio (DDoS) en sistemas de eventos
  • Monitoreo de eventos sospechosos para detectar posibles intrusiones
  • Implementación de auditoría de eventos para garantizar el cumplimiento normativo
  • Mejores prácticas de seguridad en arquitecturas distribuidas
iconArrowDown
tema 13

EDA en la Nube: Implementaciones y Servicios

  • Beneficios de usar la nube para EDA
  • Principales servicios en la nube para EDA: AWS EventBridge, Azure Event Grid, Google Cloud Pub/Sub
  • Ejemplo práctico: Implementación de EDA en AWS con EventBridge
  • Escalabilidad automática de eventos en la nube
  • Uso de servicios gestionados para la transmisión y procesamiento de eventos
  • Estrategias para minimizar la latencia en sistemas EDA en la nube
  • Consideraciones de costos al usar servicios en la nube para EDA
  • Gestión de datos y eventos multiregionales en la nube
  • Casos de uso de EDA en la nube en la industria
  • Mejores prácticas para la implementación de EDA en entornos cloud-native
iconArrowDown
tema 14

Caso de Estudio: Implementación de EDA en una Aplicación Empresarial

  • Descripción del caso de estudio: Aplicación empresarial con alto tráfico
  • Análisis de los requisitos y problemas a resolver
  • Diseño de la arquitectura orientada a eventos para la solución
  • Implementación de event sourcing y event streaming
  • Uso de microservicios en la aplicación empresarial
  • Monitoreo y trazabilidad de eventos en la aplicación
  • Gestión de errores y retries en el sistema
  • Estrategias para garantizar la consistencia eventual
  • Resultados obtenidos y beneficios para la empresa
  • Lecciones aprendidas y desafíos enfrentados en el proyecto
iconArrowDown
tema 15

Proyecto Final: Diseño e Implementación de una Arquitectura Orientada a Eventos

  • Selección de un caso de uso real para el proyecto
  • Modelado de eventos, productores y consumidores
  • Implementación de un broker de mensajes como Kafka o RabbitMQ
  • Aplicación de event sourcing y event streaming en la arquitectura
  • Monitoreo y trazabilidad de eventos en tiempo real
  • Diseño de estrategias de seguridad para la arquitectura orientada a eventos
  • Gestión de errores y políticas de retry
  • Implementación de consistencia eventual en el sistema
  • Documentación y presentación de la solución final
  • Evaluación y retroalimentación sobre el proyecto
iconArrowDown