¿Qué es una desconexión?
Por qué una conexión de streaming podría desconectarse
- Un error de Autenticación (como un token incorrecto o un método de autenticación inadecuado).
- Se reinicia un servidor de streaming en X. Esto suele estar relacionado con un despliegue de código y, en general, debería anticiparse y considerarse en el diseño.
- Tu cliente no alcanza a procesar el volumen de Posts que entrega el stream o lee data demasiado lentamente. Cada conexión de streaming está respaldada por una cola de mensajes que se envían al cliente. Si esta cola crece demasiado con el tiempo, la conexión se cerrará.
- Tu cuenta superó tu cuota diaria/mensual de Posts.
- Tienes demasiadas conexiones redundantes activas.
- Un cliente deja de leer data de forma repentina. Si la tasa de Posts leídos del stream cae bruscamente, la conexión se cerrará.
- Posibles problemas de red entre el servidor y el cliente.
- Un problema temporal del lado del servidor, mantenimiento o actualizaciones programadas. (Consulta la página de estado)
Los errores de desconexión más comunes incluyen:
Anticipar desconexiones y reconexiones
- Su código debe detectar cuándo dejan de llegar contenido nuevo y la señal de keep-alive.
- Si eso sucede, su código debe activar la lógica de reconexión. Algunos clientes y lenguajes permiten especificar un tiempo de espera de lectura, que puede configurar en 20 segundos.
- Su servicio debe detectar estas desconexiones y reconectarse lo antes posible.
- Aplique backoff lineal para errores de red a nivel TCP/IP. Estos problemas suelen ser temporales y tienden a resolverse rápidamente. Aumente el retraso entre reconexiones en 250 ms en cada intento, hasta 16 segundos.
- Aplique backoff exponencial para errores HTTP en los que sea apropiado reconectar. Comience con una espera de 5 segundos y duplíquela en cada intento, hasta 320 segundos.
- Aplique backoff exponencial para errores HTTP 429 (límite de frecuencia excedido). Comience con una espera de 1 minuto y duplíquela en cada intento. Tenga en cuenta que cada HTTP 429 recibido aumenta el tiempo que debe esperar hasta que el límite de frecuencia deje de aplicarse a su cuenta.
Recuperación de datos perdidos
Límites de frecuencia y uso
- x-rate-limit-limit indica la cantidad de solicitudes asignadas que tu cliente puede realizar durante una ventana de 15 minutos.
- x-rate-limit-remaining indica la cantidad de solicitudes realizadas hasta el momento en esa ventana de 15 minutos.
- x-rate-limit-reset es una marca de tiempo UNIX que indica cuándo se reiniciará la ventana de 15 minutos, restableciendo x-rate-limit-remaining a 0.