Skills que aprenderás
Convocatorias
No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.
Recursos
No hay recursos disponibles todavía para esta convocatoria
Dirigido a desarrolladores que ya dominan los fundamentos de RabbitMQ y necesitan diseñar arquitecturas de mensajería robustas para entornos productivos, este curso profundiza en los mecanismos avanzados del broker: topologías de routing complejas, gestión fiable de entregas y patrones de integración entre servicios. A lo largo de ocho horas el participante comparará los cuatro tipos de exchange, diseñará topologías con múltiples patrones de routing, configurará acknowledgements manuales y dead-letter queues, implementará el patrón RPC sobre RabbitMQ y diagnosticará flujos con problemas reales usando la Management UI y las herramientas de línea de comandos. Al finalizar, el participante será capaz de integrar RabbitMQ como broker en una aplicación con productores y consumidores concurrentes, tomando decisiones justificadas sobre durabilidad, fiabilidad y rendimiento.
Bloque 1 — Modelo de routing avanzado Se analizan en profundidad los cuatro tipos de exchange disponibles en RabbitMQ (direct, fanout, topic y headers), contrastando su semántica de enrutamiento, casos de uso y limitaciones. A partir de ese análisis comparativo se diseña una topología completa de exchanges, colas y bindings orientada a un sistema de notificaciones real que combina routing directo y basado en patrones de topic, prestando especial atención a la legibilidad y mantenibilidad de los bindings resultantes.
Bloque 2 — Fiabilidad y persistencia de mensajes Se examina el impacto de las opciones de durabilidad —colas duraderas frente a transitorias y mensajes persistentes frente a no persistentes— ante escenarios de reinicio inesperado del broker, cuantificando el coste en latencia y throughput. Sobre esa base se configura el mecanismo de acknowledgements manuales junto con el prefetch count para evitar la saturación de consumidores lentos sin comprometer la fiabilidad de entrega. Se completa el bloque con el diseño e implementación de una dead-letter queue que captura mensajes rechazados o expirados, incluyendo la definición de TTL y la política de reencaminamiento hacia colas de error.
Bloque 3 — Patrones de integración y concurrencia Se implementa el patrón RPC sobre RabbitMQ mediante las propiedades reply-to y correlation-id, abordando la gestión de timeouts y el descarte de respuestas huérfanas para construir llamadas síncronas fiables entre servicios. A continuación se integra el broker en una aplicación cliente/servidor real que conecta un productor con dos consumidores concurrentes, prestando atención explícita al ciclo de vida de conexiones y canales y a la correcta liberación de recursos.
Bloque 4 — Diagnóstico y resolución de problemas
Se trabaja sobre flujos de mensajes bloqueados o con pérdidas reproducidos en laboratorio. Mediante la Management UI se inspeccionan métricas de colas, tasas de publicación/consumo y estados de conexión; con rabbitmqctl y rabbitmq-diagnostics se recogen trazas y se identifican cuellos de botella o configuraciones incorrectas. Cada ejercicio concluye con la corrección de la causa raíz y la verificación del restablecimiento del flujo normal.
rabbitmq_management habilitado.rabbitmqctl y rabbitmq-diagnostics.amqplib) o Python ≥ 3.10 (librería pika); se proporcionan ejemplos en ambos lenguajes.http://localhost:15672 con credenciales de administrador.amqplib, pika o equivalente).