Descripción del proyecto
TraducidoPara los algoritmos queremos tanto una variante de cubo de tokens para suavizar ráfagas cortas como un contador de ventana deslizante para contabilidad precisa dentro de la ventana, seleccionable a nivel de política. Los contadores deben almacenarse en Redis para que múltiples nodos de API vean la misma imagen de consumo sin divergencia, y la verificación en sí misma añade solo un milisegundo o dos de latencia. Más allá de los límites simples, necesitamos niveles de cuotas completos con límites mensuales o diarios, seguimiento de consumo por clave y una forma de devolver la cuota restante al llamador. Cuando se excede un límite, el servicio debe responder con el estado 429, devolver encabezados de límite estándar que incluyan límite, restante y reinicio, y agregar una sugerencia Retry-After para que los clientes bien comportados se limiten a sí mismos.
La entrega incluye un pequeño panel de administración o formato de configuración para describir planes de tarifas y vinculaciones de claves, un almacén de métricas para facturación y análisis, y documentación clara. Por favor, explique cómo planea operaciones atómicas en Redis, cómo evita condiciones de carrera bajo alta concurrencia y cómo probará la carga del limitador antes de entrar en funcionamiento.
— Políticas por clave con algoritmos de cubo de tokens y ventana deslizante
— Niveles de cuotas con límites diarios y mensuales
— Contadores compartidos en Redis con latencia mínima añadida
— Seguimiento de consumo e informes para facturación
— Respuestas correctas 429 con límite, restante, reinicio y encabezados Retry-After
— Configuración de administración para planes de tarifas y vinculaciones de claves, documentación y pruebas de carga