Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

RabbitMQ — Avanzado

10h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • RabbitMQ

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a ingenieros de software y arquitectos de plataforma con experiencia previa en RabbitMQ que necesitan operar y diseñar instalaciones de mensajería en entornos de producción exigentes. A lo largo de las diez horas del programa, los participantes profundizarán en el diseño de clústeres de alta disponibilidad con quorum queues, la comparación fundamentada entre estrategias de replicación, la optimización de rendimiento a nivel de VM Erlang/BEAM y la gestión del back-pressure bajo carga sostenida; asimismo, abordarán el aprovisionamiento automatizado del broker mediante pipelines de IaC, la federación geográfica de brokers, el endurecimiento de seguridad con mTLS y políticas de autorización, la definición de una estrategia de observabilidad accionable y la ejecución de rolling upgrades sin tiempo de inactividad. Al finalizar el curso, cada participante será capaz de diseñar, securizar, automatizar y mantener de forma autónoma una infraestructura de mensajería RabbitMQ lista para producción a escala corporativa.

  1. Describir los principios de consenso distribuido que sustentan las quorum queues y explicar cómo determinan la tolerancia a fallos y el comportamiento ante escenarios de split-brain en un clúster multi-nodo.
  2. Comparar las classic mirrored queues y las quorum queues en términos de consistencia, rendimiento y operabilidad, apoyándose en métricas reales obtenidas de un entorno de staging.
  3. Configurar y ajustar los parámetros de prefetch count, concurrencia de canales y la VM Erlang/BEAM para alcanzar un objetivo de throughput definido en un pipeline de mensajería existente.
  4. Diseñar una estrategia de back-pressure documentada y probada mediante políticas de max-length, TTL y dead-letter exchange, capaz de anticipar cuellos de botella y fallos en cascada bajo carga sostenida.
  5. Automatizar el aprovisionamiento completo del broker —vhosts, políticas, usuarios y permisos— integrando la Management HTTP API en un pipeline de IaC con Terraform o Ansible.
  6. Diseñar una topología de federación o shovel entre brokers distribuidos geográficamente, evaluando los compromisos de latencia, orden de mensajes y generación de duplicados.
  7. Configurar mTLS, autenticación x509 y políticas de autorización por vhost, verificando su efectividad mediante un test de penetración básico sobre el broker.
  8. Definir una estrategia de observabilidad con métricas clave, alertas accionables y runbooks de incidentes, e implementar rolling upgrades del clúster sin tiempo de inactividad validando compatibilidad de plugins y políticas en cada paso.

Bloque 1 — Alta disponibilidad y replicación en clúster El curso arranca con los fundamentos del consenso distribuido aplicados a RabbitMQ: se estudia la arquitectura de un clúster de tres o más nodos, el protocolo Raft que subyace a las quorum queues y las decisiones de particionado y replicación necesarias para afrontar un escenario real de split-brain. A continuación se realiza un análisis comparativo riguroso entre classic mirrored queues y quorum queues: consistencia bajo fallos, impacto en el throughput y coste operativo, contrastando la teoría con métricas extraídas de un entorno de staging reproducible.

Bloque 2 — Optimización del rendimiento y gestión del back-pressure El segundo bloque se centra en la sintonización fina del pipeline de mensajería. Se exploran los parámetros de prefetch count y concurrencia de canales, así como los controles internos de la VM Erlang/BEAM que determinan el techo de rendimiento del broker. Sobre esa base se construye una estrategia de back-pressure completa: definición y aplicación de políticas de max-length, TTL y dead-letter exchange, modelado de escenarios de carga sostenida y documentación de pruebas que demuestren la robustez de la solución frente a fallos en cascada.

Bloque 3 — Automatización, IaC y topologías multi-región Este bloque aborda la gestión del broker como código. Se estudia la Management HTTP API de RabbitMQ para automatizar la creación y configuración de vhosts, usuarios, permisos y políticas, integrando estos pasos en pipelines de Terraform o Ansible. Seguidamente se diseñan topologías de federación y shovel entre brokers en distintas regiones geográficas, evaluando de forma práctica los compromisos de latencia, el riesgo de reordenamiento de mensajes y la gestión de duplicados que introduce cada enfoque.

Bloque 4 — Seguridad, observabilidad y operaciones en producción El curso concluye con los pilares operativos de un broker en producción. En el ámbito de seguridad se configura TLS mutuo (mTLS), autenticación basada en certificados x509 y políticas de autorización por vhost, validando la configuración mediante un test de penetración básico. La observabilidad se trata de forma integral: selección de métricas clave —queue depth, consumer utilisation, memory alarm—, diseño de alertas accionables y elaboración de runbooks para la respuesta a incidentes. El bloque cierra con la ejecución de rolling upgrades sin downtime, incluyendo la verificación de compatibilidad de plugins y políticas antes y después de cada paso del proceso.

  • Estación de trabajo con acceso a Docker o a un hipervisor capaz de levantar al menos tres nodos virtuales con 2 vCPU y 2 GB de RAM cada uno.
  • RabbitMQ 3.12 o superior instalado o disponible como imagen de contenedor oficial.
  • Erlang/OTP compatible con la versión de RabbitMQ seleccionada (consultar matriz oficial de compatibilidad).
  • Herramientas de línea de comandos: rabbitmqctl, rabbitmq-diagnostics y curl o httpie para interactuar con la Management HTTP API.
  • Terraform ≥ 1.5 o Ansible ≥ 2.14 instalado y configurado en el equipo local.
  • Cliente de certificados: openssl o cfssl para la generación de PKI en los ejercicios de mTLS.
  • Stack de observabilidad accesible: Prometheus con el plugin rabbitmq_prometheus habilitado y Grafana para la visualización de métricas.
  • Acceso a internet para descargar plugins oficiales y documentación de referencia durante los ejercicios prácticos.

Para aprovechar este curso al máximo se espera que el participante haya completado el nivel Intermedio de RabbitMQ (RRMQ02) o que demuestre experiencia equivalente en los siguientes ámbitos: uso fluido del modelo de exchanges, bindings y colas desde código; configuración de acknowledgements, persistencia y políticas básicas; familiaridad con el panel de administración y la CLI rabbitmqctl; comprensión general de redes TCP/IP y nociones básicas de TLS; y experiencia con al menos una herramienta de automatización de infraestructura (Ansible, Terraform o equivalente).