Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Redis — Avanzado

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

Skills que aprenderás

  • redis

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

Dirigido a ingenieros y arquitectos con experiencia sólida en Redis que necesitan tomar decisiones de diseño en entornos productivos de alta exigencia, este curso aborda los desafíos reales que aparecen cuando Redis escala: topologías distribuidas, gestión fina de memoria, consistencia de caché y automatización operacional. A lo largo de diez horas el participante pasará de operar una instancia única a arquitecturar soluciones de alta disponibilidad con Sentinel y Cluster, diagnosticar configuraciones de memoria y persistencia en instalaciones existentes, optimizar el rendimiento bajo carga mediante pipelining y Lua, y automatizar los procesos de failover y recuperación con herramientas IaC; el resultado concreto es la capacidad de diseñar, auditar y operar una infraestructura Redis distribuida lista para producción, respaldada por benchmarks, métricas cuantificadas y decisiones de trade-off documentadas.

  1. Comprender los modelos de alta disponibilidad de Redis —Sentinel y Cluster— y los trade-offs que cada uno impone en términos de consistencia, latencia y distribución de datos.
  2. Comprender las estrategias de persistencia RDB, AOF y RDB+AOF, relacionando cada parámetro de configuración con el Recovery Point Objective (RPO) que garantiza.
  3. Evaluar la configuración de memoria de una instancia productiva —incluyendo maxmemory, política de evicción y fragmentación— identificando riesgos concretos y proponiendo ajustes cuantificados.
  4. Evaluar un sistema de caché distribuida sobre Redis detectando patrones de inconsistencia como cache stampede y thundering herd, y seleccionando las estrategias de mitigación apropiadas.
  5. Optimizar la latencia de operaciones Redis bajo alta carga aplicando pipelining, scripting Lua y comandos atómicos, y verificar la mejora obtenida con benchmarks reproducibles.
  6. Optimizar la elección de estructura de datos Redis para casos de uso específicos —caché, leaderboard, pub/sub, rate-limiting— cuantificando el ahorro de memoria resultante.
  7. Arquitecturar una topología de alta disponibilidad y una solución de sharding con Redis Cluster, definiendo distribución de slots, manejo de hot keys y estrategia de rebalanceo ante cambios en el número de nodos.
  8. Automatizar los procesos de failover, backup y restauración de una topología Redis mediante scripts o herramientas IaC, asegurando idempotencia y verificación post-ejecución.
  9. Anticipar cuellos de botella en pipelines de datos basados en Redis Streams, rediseñando grupos de consumidores y políticas de retención ante escenarios de lag creciente.

Bloque 1 — Alta disponibilidad: Sentinel y Cluster Se estudian en profundidad los dos modelos de alta disponibilidad que ofrece Redis: Sentinel, orientado a la supervisión y promoción automática de réplicas en topologías maestro-réplica, y Redis Cluster, diseñado para la distribución horizontal de datos. El bloque analiza los criterios de elección entre ambos según requisitos de consistencia, latencia tolerable y volumen esperado, y establece las bases conceptuales necesarias para el trabajo práctico de los bloques posteriores.

Bloque 2 — Sharding con Redis Cluster: diseño y operación A partir del modelo conceptual de Cluster, el bloque avanza hacia el diseño detallado de una solución de sharding: asignación y distribución de slots, identificación y tratamiento de hot keys, y definición de la estrategia de rebalanceo cuando se añaden o eliminan nodos. Se trabaja la perspectiva operacional del Cluster, incluyendo los procedimientos de failover y la automatización de backup y restauración mediante scripts idempotentes o herramientas IaC con verificación post-ejecución.

Bloque 3 — Memoria y persistencia: auditoría y ajuste Este bloque aborda la gestión avanzada de recursos internos de Redis. Por un lado, se analiza la configuración de memoria —maxmemory, políticas de evicción y fragmentación del allocator— con un enfoque de auditoría sobre instalaciones reales, cuantificando riesgos y proponiendo ajustes medibles. Por otro, se revisan las tres estrategias de persistencia (RDB, AOF y modo híbrido), comparando los parámetros de configuración con el RPO definido por el negocio y detectando las brechas habituales entre lo configurado y lo que realmente se garantiza ante un fallo.

Bloque 4 — Optimización de rendimiento: latencia, estructuras y caché El bloque agrupa las técnicas de optimización orientadas a reducir latencia y uso de memoria en escenarios de alta carga. Se exploran pipelining, scripting Lua y comandos atómicos como mecanismos para minimizar round-trips y garantizar atomicidad, midiendo el impacto con benchmarks reproducibles. Paralelamente, se trabaja la selección razonada de estructuras de datos —strings, hashes, sorted sets, HyperLogLog, Streams— para casos de uso concretos como leaderboards, rate-limiting o pub/sub, cuantificando el ahorro de memoria frente a alternativas menos eficientes. El bloque cierra con el análisis crítico de sistemas de caché distribuida, identificando los patrones de inconsistencia más frecuentes —cache stampede y thundering herd— y aplicando estrategias de mitigación como mutex locks, probabilistic early expiration o el patrón de refresco asíncrono.

Bloque 5 — Redis Streams: diseño de pipelines resilientes El bloque final se centra en Redis Streams como mecanismo de mensajería y procesamiento de eventos. Se estudia la arquitectura de grupos de consumidores, las políticas de retención y los comandos de acknowledgment y reclamación de mensajes pendientes. El énfasis práctico está en la anticipación y resolución de cuellos de botella: cómo detectar lag creciente, cómo redistribuir la carga entre consumidores y cómo redimensionar la topología de grupos ante picos de volumen, integrando este análisis con las herramientas de monitorización vistas a lo largo del curso.

  • Redis 7.x instalado localmente o acceso a un entorno de laboratorio con capacidad para levantar al menos tres nodos (Docker Compose o equivalente).
  • Cliente redis-cli disponible en el PATH.
  • Herramienta de benchmarking redis-benchmark incluida en la distribución de Redis.
  • Docker y Docker Compose (versión 3.8+) para los ejercicios de topología Cluster y Sentinel.
  • Intérprete Python 3.10+ con la librería redis-py instalada, o acceso equivalente a un cliente Redis en el lenguaje preferido del participante.
  • Editor de texto o IDE con soporte Lua para los ejercicios de scripting (VS Code con extensión Lua recomendado).
  • Acceso a internet para consulta de documentación oficial y descarga de imágenes Docker.

Para aprovechar este curso el participante debe dominar los contenidos de RED02 (Redis — Intermedio): operación fluida con los principales tipos de datos, configuración básica de replicación maestro-réplica, uso de Pub/Sub y comprensión general del modelo de persistencia. Se asume también familiaridad con línea de comandos Linux y nociones básicas de scripting (Bash o Python) para las prácticas de automatización.