Aggiungere il criterio Spike Arrest all'API

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Cosa imparerai a fare

Tramite questo tutorial imparerai a:

  • Aggiungi un criterio che influisce sulla richiesta e sulla risposta.
  • Vedi gli effetti delle norme.

Che cosa ti serve

  • Almeno un criterio nel proxy (che fa parte del tutorial introduttivo).
  • curl installato sulla macchina per effettuare chiamate API dalla riga di comando.

Aggiungere le norme relative all'arresto dei picchi

In questo tutorial, aggiungerai e configurerai il criterio SpikeArrest per proteggere il bersaglio del servizio contro picchi di traffico improvvisi che possono essere causati da un aumento dell'utilizzo, da client con bug o dannosi. Quando il numero di richieste supera il limite di frequenza, l'API restituisce un Errore HTTP 500 per una richiesta.

Aggiungi il criterio Spike Arrest a un proxy API:

  1. Accedi a apigee.com/edge.
  2. Seleziona Sviluppo > Proxy API nella barra di navigazione a sinistra.
  3. Seleziona il proxy API a cui vuoi aggiungere il criterio Spike Arrest.

    Se hai seguito il tutorial iniziale, puoi aggiungerlo al "per iniziare" creato nella sezione Creare un proxy proxy API.

  4. Nell'editor del nuovo proxy API, fai clic sulla scheda Sviluppo:

    L'editor proxy API consente di visualizzare la struttura del proxy API e di configurarne il flusso. L'editor presenta una rappresentazione visiva del messaggio di richiesta e risposta del proxy nonché una visualizzazione modificabile del codice XML sottostante che definisce il proxy.

  5. Nel riquadro di navigazione a sinistra, fai clic su PreFlow sotto Proxy Endpoint > predefinita. (Altri tutorial tratteranno il concetto di flussi.)
  6. Fai clic sul pulsante +Step in alto, corrispondente a Request PreFlow. Questo mostra un elenco categorizzato di tutti i criteri che puoi creare.

    Fai clic su Step in Request PreFlow

  7. Seleziona Arresto dei picchi nella categoria Gestione del traffico. La nuova norma viene visualizzata una finestra di dialogo:

    Crea criterio di arresto dei picchi

  8. Lascia i nomi predefiniti e fai clic su Aggiungi. Il nuovo criterio è associato il flusso PreFlow di una richiesta.
  9. Nel navigatore, assicurati che PreFlow in Endpoint proxy > predefinita è ancora selezionata e tieni presente quanto segue nell'Editor proxy API:
      .
    • Il nuovo criterio Spike Arrest-1 viene aggiunto nella sezione Policies della sezione Navigatore sul lato sinistro dell'editor del proxy API.
    • L'icona Spike Arrest-1 viene aggiunta alla vista Designer in in alto al centro dell'API Proxy Editor, che è una rappresentazione visiva dei dei messaggi del proxy.
    • Il codice XML del criterio viene visualizzato nella Vista codice in in basso al centro dell'API Proxy Editor.

    Visualizza il criterio PreFlow con Spike Arrest

  10. Nel riquadro di navigazione, seleziona Spike Arrest-1 (Arresto di punta-1) nella sezione Norme e tieni presente nell'Editor proxy API:
      .
    • I dettagli del criterio vengono mostrati nella vista Designer in alto Center dell'API Proxy Editor.
    • Il codice XML del criterio viene visualizzato nella Vista codice in basso Center dell'API Proxy Editor.
    • I valori degli elementi e degli attributi XML per il criterio vengono visualizzati in Proprietà sul lato destro dell'Editor proxy API.

  11. Nel codice XML del criterio, modifica il valore del parametro <Rate> in 1pm (che equivale a circa 2 richieste consentite ogni 60 secondi nel cloud).

    Puoi specificare la tariffa come valore intero al minuto (pm) o secondo (ps). Si tratta di un limite molto basso e viene utilizzato solo per questo tutorial a dimostrare il criterio. In genere, si imposta un limite molto più alto.

    Tieni presente che anche il valore Rate nella finestra Controllo proprietà diventa "13:00". In alternativa, puoi modificare il valore Tariffa nel Controllo proprietà. e si rifletterà nella visualizzazione XML.

  12. Fai clic su Salva per salvare la revisione corrente con le modifiche.
  13. Chiama l'API utilizzando curl, sostituendo il nome della tua organizzazione Apigee per org_name:

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

    Ad esempio:

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

    Assicurati che la richiesta abbia esito positivo e che visualizzi la stessa risposta XML di prima. Puoi anche inserire solo l'URL in un browser web.

  14. Esegui il comando curl (o aggiorna la finestra del browser) altri due o tre volte entro un minuto e vedrai che viene visualizzato il seguente messaggio perché hai superato il limite di frequenza delle norme:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    Se provi a effettuare altre chiamate entro un minuto, dovresti continuare a ricevere l'errore .

  15. Modifica il criterio per impostare il limite <Rate> su 15:00 (che equivale a circa 2 chiamate consentite ogni 4 secondi nel cloud) e quindi salvare il proxy API.
  16. Esegui il comando curl o aggiorna il browser ripetutamente (curl è più veloce). Tieni presente che se effettui una o due chiamate entro intervalli di 4 secondi, le chiamate avranno esito positivo. Se se effettui le chiamate rapidamente, più di due in 4 secondi, dovresti ottenere il guasto. Ma dopo ogni intervallo di 4 secondi può continuare a fare chiamate, invece di venire bloccato per minuto intero (con l'impostazione 13:00).