2010-02-24 14 views
7

¿Cuáles son las formas más comunes de implementar la aceleración de solicitudes API web? ¿Hay alguna biblioteca para marcos web comunes (Rails, Django, Java, etc.) que le brinde esto junto con la prohibición temporal?¿Cuáles son las formas más comunes de implementar la limitación de velocidad/solicitud de API web?

Una pregunta relacionada sugiere que la limitación de velocidad se realiza en el servidor web al limitar las solicitudes de IP, pero eso significa que todas las solicitudes se tratan por igual. Parece que estrangulación necesita ser manejado por la aplicación debido a que:

  1. Algunas llamadas a la API pueden tener diferentes límites de frecuencia (por ejemplo, una API de autocompletar tendría un límite más alto que las otras llamadas)
  2. prohibición temporal de clave de API puede 't ser manejado por el servidor web
  3. solicitudes procedentes de detrás de un proxy se tratan los mismos

preguntas relacionadas (?): here, here, y here

Respuesta

1

También es posible que desee utilizar herramientas como IPtables (linux) para limitar drásticamente parte del tráfico entrante. También hay servicios de terceros como 3scale (http://www.3scale.net - descargo de responsabilidad - Yo trabajo para ellos :-)) que permiten realizar un seguimiento y administrar todos los límites de uso que desea aplicar al tráfico por usuario.

Cuestiones relacionadas