Diseño de un pipeline de datos orientado a la observabilidad para analítica en tiempo real
Desea construir un pipeline de datos que proporcione analítica en tiempo real. Para lograrlo, necesita diseñar un sistema capaz de manejar eventos de alta velocidad, procesarlos con baja latencia y proporcionar información accionable a los operadores.
Estos son los componentes clave:
- Capa de ingesta: adaptadores de fuentes de streaming como Kafka o Kinesis
- Capa de procesamiento: procesamiento de flujo (stream processing) para agregaciones y enriquecimiento
- Capa de almacenamiento: almacén de eventos inmutable para la capacidad de reproducción (replayability) y almacenes optimizados para lectura para analítica
- Capa de servicio/consulta: vistas materializadas y tablas preagregadas
- Capa de observabilidad: trazabilidad (tracing), métricas, logs, dashboards y alertas
Para comenzar, defina sus requisitos:
- Tasa de ingesta: 100k eventos por segundo
- Latencia de extremo a extremo: ≤ 300 ms
- Patrones de consulta: agregaciones con límites de tiempo y SLO para la latencia de cola (tail latency)
Elija sus resultados de observabilidad:
- Telemetría suficiente para diagnosticar la latencia y el sesgo de datos (data skew)
- Análisis rápido de causa raíz para interrupciones del servicio