Agrega la política de Spike Arrest a tu API

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

Qué aprenderá

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.

Qué necesitará

Agrega la política de Spike Arrest

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 la IU de Apigee.
  2. Selecciona Desarrollar > Proxies de API 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, puedes agregarlo al proxy de API que creaste en Crea un proxy de API.

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

    La pestaña Desarrollar se encuentra entre las pestañas Descripción general y Seguimiento.

    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 Paso en la solicitud FlowFlow.

  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:

    Crea una 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 el navegador, asegúrate de que la opción PreFlow en Extremos del proxy > predeterminado aún esté seleccionada y ten en cuenta lo siguiente en el editor del 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.

    Vista de PreFlow con la política de Spike Arrest.

  10. En el navegador, 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.

    El panel del Inspector de propiedades muestra los valores de la política de Spike Arrest-1.

  11. En el XML de la política, cambia el valor del elemento <Rate> a 1pm (que se traduce en aproximadamente dos 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 de Rate en el inspector de propiedades también cambia a 1pm. Como alternativa, puedes cambiar el valor de Rate en el Inspector de propiedades y se reflejará en la vista XML.

  12. Haga clic en Save para guardar la revisión actual con sus cambios.
  13. Llama a la API con curl y usa la URL para el dominio:

    curl "http://YOUR_DOMAIN/myproxy"

    Por ejemplo:

    curl "http://apitest.example.com/myproxy"

    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 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> en 15pm (que se traduce en aproximadamente dos llamadas permitidas cada cuatro 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 1pm).