ADR-006: rate limit en dos niveles
Aceptado el 10/11/2026 por Andrés.
Contexto
El PDF pide límites y permisos distintos por partner. KrakenD comunitario aplica la misma tasa a todos los clientes de un endpoint y guarda contadores por instancia (ADR-001).
Decisión
- KrakenD: tope general por endpoint y tope igual por cliente. Protección gruesa y barata.
- Envoy (rate limit global de la malla, con contador en Redis): cuota por
partner_id, nivel y grupo de rutas. Los valores salen del token ya validado.
Qué se sacrifica
- Dos lugares donde se configuran límites.
- Un servicio de cuotas más que operar. Si falla, se deja pasar y queda el nivel 1.
Riesgo de construcción
El rate limit global de Envoy en Istio se configura con filtros de bajo nivel. Si en el demo consume más de medio día, el plan B es un filtro de cuota por partner en la plantilla de servicio, con el mismo contador en Redis, dejando documentado que la opción objetivo es la malla.
Cuándo se revisaría
Con KrakenD Enterprise (cuotas por nivel nativas) o con otro gateway.