Modelando los límites de velocidad de la API como desigualdades diofánticas

2025-06-30

Este artículo explora un enfoque matemático, utilizando desigualdades diofánticas, para resolver problemas de limitación de velocidad de la API. El autor utiliza un escenario con un límite de 10 solicitudes por hora y tres intentos de reintento por tarea como ejemplo, mostrando cómo transformar el problema de programación de tareas en un problema de viabilidad de enteros. Al analizar el patrón de reintento de tareas y las ventanas de tiempo, el autor establece un modelo de desigualdad y usa Go para escribir un programa que determina si se puede programar una nueva tarea de forma segura sin exceder el límite de velocidad. El artículo también menciona la optimización del algoritmo para reducir la complejidad del tiempo de O(n^2) a O(n*log(n)).

Leer más

Entendiendo NAT: La solución inteligente de Linux para el agotamiento de direcciones IPv4

2025-06-18

Imagina tu red Wi-Fi doméstica: todos los dispositivos comparten la misma dirección IP pública. Esto se debe a la Traducción de Direcciones de Red (NAT). Con el número limitado de direcciones IPv4, la NAT asigna inteligentemente IPs privadas a una sola IP pública en tu enrutador, permitiendo que varios dispositivos compartan una sola IP pública. Este artículo profundiza en el funcionamiento de la NAT, explorando diferentes tipos (Full Cone, Restricted Cone, Symmetric NAT) y su implementación en Linux (usando nftables), ilustrado con un ejemplo de Docker. Si bien la NAT soluciona temporalmente el agotamiento de IPv4, introduce limitaciones como la ruptura de la conectividad de extremo a extremo y la complicación del cifrado. En última instancia, la adopción generalizada de IPv6 es la verdadera solución.

Leer más
Desarrollo