✅ 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:
# Apply immediately (Linux)sudo sysctl -w net.core.rmem_max=26214400sudo sysctl -w net.core.rmem_default=26214400# Persist across reboots — add to /etc/sysctl.confnet.core.rmem_max=26214400net.core.rmem_default=26214400
Luego solicita el tamano del buffer en el codigo de tu aplicacion:
import socketsock = 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 sysctlrmem_maxdebe 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 a127.0.0.1 - Hilo de recepcion aislado de la logica de procesamiento
- Streams redundantes en multiples regiones (para cargas de trabajo en produccion)