Descripción general
Al consumir datos de streaming, maximizar el tiempo de conexión y recibir todos los datos coincidentes es un objetivo fundamental. Esto requiere:- Aprovechar las conexiones redundantes
- Detectar desconexiones automáticamente
- Reconectarse rápidamente
- Tener un plan para recuperar los datos perdidos
Conexiones redundantes
Una conexión redundante te permite establecer más de una conexión simultánea a un stream. Esto proporciona redundancia al conectarte con dos consumidores separados, recibiendo los mismos datos a través de ambas conexiones. Beneficios:- Hot failover si un stream se desconecta
- Protección si tu servidor principal falla
- Entrega continua de datos durante la reconexión
Cómo usarlo
Simplemente conéctate a la misma URL del stream con un segundo cliente. Los datos se enviarán a través de ambas conexiones.Las conexiones redundantes están disponibles con acceso Enterprise. Filtered Stream permite hasta dos conexiones redundantes para proyectos Enterprise. Firehose Streams usan un parámetro
partition para admitir hasta 20 conexiones concurrentes, mientras que Sample10 (Decahose) admite hasta 2 particiones. Consulta la documentación específica de tu endpoint para conocer los límites de conexión.Backfill
Después de detectar una desconexión, tu sistema debe rastrear cuánto duró la desconexión para determinar el método de recuperación apropiado.Para desconexiones de 5 minutos o menos
Usa el parámetro backfill al reconectarte para recibir los Posts que coincidieron durante el período de desconexión.
Ejemplos de solicitudes:
Filtered Stream:
Consideraciones importantes:
- Los Posts más antiguos generalmente se entregan primero, antes de los Posts recién coincidentes
- Los Posts no están deduplicados — si estuviste desconectado durante 90 segundos pero solicitas 2 minutos de backfill, recibirás 30 segundos de Posts duplicados
- Tu sistema debe tolerar duplicados
- El backfill está disponible con acceso Enterprise
Recuperación
Para desconexiones que duren más de 5 minutos, usa la función de Recuperación para reproducir los datos perdidos dentro de las últimas 24 horas.Cómo funciona la Recuperación
- Realiza una solicitud de conexión con los parámetros
start_timeyend_time - La recuperación vuelve a transmitir el período de tiempo especificado
- Una vez completada, la conexión se desconecta
Parámetros
Ejemplo de solicitud
Filtered Stream:Límites de recuperación:
- Disponible con acceso Enterprise
- Ventana de recuperación: hasta 24 horas en el pasado
- Filtered Stream permite 2 trabajos de recuperación concurrentes
- Firehose, Sample10 (Decahose) y los streams firehose específicos por idioma también admiten recuperación
- El Sample Stream básico del 1% no admite recuperación; usa el endpoint Search en su lugar
Recuperación alternativa: Search
Si no tienes acceso a las funciones de backfill o recuperación, o si la desconexión superó las 24 horas, puedes usar el endpoint Search Posts para solicitar los datos perdidos.Árbol de decisión de recuperación
Buenas prácticas
- Rastrea la duración de la desconexión — Tu sistema debe anotar cuándo ocurren las desconexiones y cuánto duran
- Implementa recuperación automática — Según la duración de la desconexión, elige automáticamente el método de recuperación apropiado
- Gestiona los duplicados — Tanto backfill como recovery pueden entregar Posts duplicados; implementa lógica de deduplicación
- Usa conexiones redundantes — Evita la pérdida de datos manteniendo múltiples conexiones cuando estén disponibles
- Monitoriza los trabajos de recuperación — Rastrea el estado y la finalización de las operaciones de recuperación
Próximos pasos
Gestión de desconexiones
Detecta y gestiona desconexiones
Consumo de datos de streaming
Construye clientes de streaming robustos
Capacidad de alto volumen
Maneja streams de alto rendimiento