Agrega la política de Spike Arrest a tu API

Estás consultando la documentación de Apigee Edge.
Consulta la documentación de Apigee X.
Información

Qué aprenderás

En este instructivo, aprenderás a realizar lo siguiente:

  • Agrega una política que afecte la solicitud y respuesta
  • Consulta los efectos de la política.

Requisitos

  • Al menos una política en tu proxy (también parte del instructivo Comienza ahora).
  • curl instalado en tu máquina para realizar llamadas a la API desde la línea de comandos.

Agrega la política de protección contra aumentos de tráfico

En este instructivo, agregarás y configurarás la política de SpikeArrest para proteger el servicio de destino contra aumentos repentinos de tráfico que pueden deberse a un aumento del uso, de los clientes defectuosos o de los ataques maliciosos. Cuando la cantidad de solicitudes supera el límite de frecuencia, la API muestra un error HTTP 500 para una solicitud.

Agrega la política de Spike Arrest a un proxi de API:

  1. Accede a apigee.com/edge.
  2. Selecciona Desarrollar > Proxies de API (Develop > API Proxies) en la barra de navegación izquierda.
  3. Selecciona el proxy de API al que deseas agregar la política de Spike Arrest.

    Si seguiste el instructivo Comenzar ahora, puedes agregarlo al proxy "getstarted" que creaste en Crear un proxy de API.

  4. En el editor del nuevo proxy de API, haz clic en la pestaña Desarrollar:

    El Editor de proxy de API te permite ver la estructura de su proxy de API y configurar su flujo. El editor presenta una representación visual del flujo de mensajes de solicitud y respuesta del proxy, así como una visualización editable del XML subyacente que define el proxy.

  5. En el panel del navegador de la izquierda, haz clic en PreFlow en Extremos del proxy > predeterminado. (Otros instructivos abordarán el concepto de flujos).
  6. Haz clic en el botón superior + Paso (+ Step), que corresponde a solicitud FlowFlow. Esto mostrará una lista categorizada de todas las políticas que puedes crear.

    Haz clic en Step in Request PreFlow.

  7. Selecciona Spike Arrest en la categoría Administración del tráfico. Se mostrará el cuadro de diálogo de la nueva política:

    Crear política de Spike Arrest

  8. Deja los nombres predeterminados y haz clic en Agregar. La nueva política se adjunta al flujo de PreFlow de una solicitud.
  9. En Navigator, asegúrate de que aún esté seleccionado PreFlow en Proxy Endpoints > default y observa lo siguiente en el Editor de proxy de API:
    • La política de Spike Arrest-1 nueva se agrega en Políticas en el navegador del lado izquierdo del editor de proxy de API.
    • El ícono de Spike Arrest-1 se agrega a la Vista del diseñador en el centro superior del editor de proxy de API, que es una representación visual de los flujos de mensajes de tu proxy.
    • El XML de la política se muestra en la Vista de código en el centro inferior del editor de proxy de API.

    Visualiza el PreFlow con la política de Spike Arrest

  10. En Navigator, selecciona Spike Arrest-1 en Políticas y observa lo siguiente en el Editor de proxy de API:
    • Los detalles de la política se muestran en la Vista del diseñador en el centro superior del editor de proxy de API.
    • El XML de la política se muestra en la Vista de código en el centro inferior del editor de proxy de API.
    • El elemento XML y los valores de los atributos de la política se muestran en el Inspector de propiedades, en el lado derecho del editor de proxy de API.

  11. En el XML de la política, cambia el valor del elemento <Rate> a 1pm (que se traduce en alrededor de 2 solicitudes permitidas cada 60 segundos en la nube).

    Puedes especificar la tasa como un valor de número entero por minuto (pm) o por segundo (ps). Este es un límite muy bajo y solo se usa para este instructivo a fin de demostrar la política. Por lo general, se establece en un límite mucho más alto.

    Ten en cuenta que el valor Rate en el Inspector de propiedades también cambia a “1 p.m.”. Como alternativa, puedes cambiar el valor de Rate en el Inspector de propiedades y se reflejará en la vista XML.

  12. Haz clic en Guardar para guardar la revisión actual con los cambios.
  13. Llama a la API mediante curl y sustituye el nombre de tu organización de Apigee por org_name:

    curl "http://org_name-test.apigee.net/getstarted"

    Por ejemplo:

    curl "http://ahamilton-eval-test.apigee.net/getstarted" | python -m json.tool

    Asegúrate de que la solicitud se realice de forma correcta y veas la misma respuesta XML que viste antes. (También puedes ingresar solo la URL en un navegador web).

  14. Ejecuta el comando curl (o actualiza la ventana del navegador) dos o tres veces más en el transcurso de un minuto y observa que recibes el siguiente mensaje porque superaste el límite de frecuencia de la política:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    Si intentas realizar más llamadas en un minuto, deberías seguir recibiendo el mensaje de error.

  15. Edita tu política para establecer el límite <Rate> como 15 p.m. (que se traduce en alrededor de 2 llamadas permitidas cada 4 segundos en la nube) y, luego, guarda el proxy de API.
  16. Ejecuta el comando curl o actualiza el navegador de forma repetida (curl es más rápido). Ten en cuenta que si realizas una o dos llamadas en intervalos de 4 segundos, las llamadas se realizarán de forma correcta. Si haces las llamadas con rapidez, más de dos en 4 segundos, deberías ver el error. Sin embargo, después de cada intervalo de 4 segundos, puedes continuar haciendo llamadas, en lugar de bloquearse durante todo un minuto (con la configuración de 1 p.m.).