✅ Mejores Practicas

Sigue estas recomendaciones para obtener la entrega de shreds mas fiable y de menor latencia de ShredStream.com.

Usas nuestro SDK? El SDK configura el buffer de recepcion del socket automaticamente (25 MB por defecto) y se encarga de la validacion de paquetes. Aun asi, necesitas configurar los ajustes de sysctl a nivel de SO que se indican a continuacion y puedes beneficiarte de las recomendaciones de monitoreo y redundancia.


📐 Dimensionamiento del Buffer UDP

El cambio de configuracion con mayor impacto es aumentar tu buffer de recepcion UDP. ShredStream.com puede entregar miles de shreds por segundo, y el buffer predeterminado del SO es insuficiente.

Configura un minimo de 25 MB:

bash
# Apply immediately (Linux)
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.rmem_default=26214400
# Persist across reboots — add to /etc/sysctl.conf
net.core.rmem_max=26214400
net.core.rmem_default=26214400

Luego solicita el tamano del buffer en el codigo de tu aplicacion:

import socket
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, 25 * 1024 * 1024)
sock.bind(("0.0.0.0", 8001))

Nota sobre la duplicacion de buffer en Linux: Linux internamente duplica el valor del buffer que pasas a setsockopt(). Cuando solicitas 25 MB, el kernel asigna 50 MB (la mitad para datos, la mitad para gestion interna del kernel). El sysctl rmem_max debe ser de al menos 25 MB para que la solicitud tenga exito.


🔄 Redundancia y Failover

Para sistemas en produccion donde el uptime es critico, planifica redundancia.

  • Streams multi-region -- Crea streams en dos o mas regiones. Si una region experimenta un problema, la otra sigue entregando. Deduplica los shreds entrantes usando el par (slot, index) para evitar procesar los mismos datos dos veces.
  • Servidores en espera activa -- Ejecuta un segundo receptor en una maquina diferente. Ambos pueden escuchar simultaneamente; tu pipeline de procesamiento deduplica aguas abajo.
  • Failover de IP -- Usa una IP flotante o Elastic IP que pueda reasignarse rapidamente. Actualiza el destino del stream desde el panel de control cuando muevas trafico a un servidor de respaldo.

✅ Lista de Verificacion Resumen

  • Buffer de recepcion UDP configurado a 25 MB o mas
  • Socket vinculado a 0.0.0.0, no a 127.0.0.1
  • Hilo de recepcion aislado de la logica de procesamiento
  • Streams redundantes en multiples regiones (para cargas de trabajo en produccion)
Mejores Practicas — Documentations | ShredStream.com