Spike Arrest-Richtlinie in die API einfügen

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

Lerninhalte

In dieser Anleitung lernen Sie Folgendes:

  • Sie fügen eine Richtlinie hinzu, die die Anfrage und die Antwort beeinflusst.
  • Sie sehen die Auswirkungen der Richtlinie.

Voraussetzungen

  • Mindestens eine Richtlinie in Ihrem Proxy (auch Teil der Anleitung "Erste Schritte").
  • curl auf Ihrem Computer installiert, um API-Aufrufe über die Befehlszeile auszuführen.

Spike Arrest-Richtlinie hinzufügen

In diesem Tutorial fügen Sie die Spike Arrest-Richtlinie hinzu und konfigurieren sie, um den Zieldienst vor plötzlichen Traffic-Spitzen zu schützen, die durch einen Anstieg der Nutzung, fehlerhafte Clients oder böswillige Angriffe verursacht werden können. Wenn die Anzahl der Anfragen die Ratenbegrenzung überschreitet, gibt die API für eine Anfrage einen HTTP-500-Fehler zurück.

Fügen Sie die Spike Arrest-Richtlinie einem API-Proxy hinzu:

  1. Melden Sie sich unter apigee.com/edge an.
  2. Wählen Sie in der linken Navigationsleiste Develop > API Proxies aus.
  3. Wählen Sie den API-Proxy aus, dem Sie die Spike Arrest-Richtlinie hinzufügen möchten.

    Wenn Sie der Anleitung "Erste Schritte" gefolgt sind, können Sie sie dem "getstarted"-Proxy hinzufügen, den Sie unter API-Proxy erstellen erstellt haben.

  4. Klicken Sie im Editor für den neuen API-Proxy auf den Tab Entwickeln:

    Mit dem API-Proxy-Editor können Sie die Struktur Ihres API-Proxys sehen und seinen Flow konfigurieren. Der Editor zeigt eine visuelle Darstellung des Anfrage- und Antwort-Flows Ihres Proxys sowie eine bearbeitbare Anzeige der zugrunde liegenden XML, der den Proxy definiert.

  5. Klicken Sie im linken Navigationsbereich unter Proxy-Endpunkte > Standard auf PreFlow. In anderen Anleitungen wird das Konzept von Flows behandelt.
  6. Klicken Sie auf die Schaltfläche +Schritt für das Anfrage-PreFlow. Dadurch wird eine kategorisierte Liste aller Richtlinien angezeigt, die Sie erstellen können.

    Klickschritt im PreFlow der Anfrage

  7. Wählen Sie in der Kategorie "Trafficverwaltung" die Option Spike Arrest aus. Das Dialogfeld "Neue Richtlinie" wird angezeigt:

    Spike Arrest-Richtlinie erstellen

  8. Übernehmen Sie die Standardnamen und klicken Sie auf Hinzufügen. Die neue Richtlinie ist an den PreFlow-Flow einer Anfrage angehängt.
  9. Achten Sie im Navigator darauf, dass PreFlow unter Proxyendpunkte > Standard noch ausgewählt ist. Beachten Sie im API-Proxy-Editor Folgendes:
    • Die neue Spike Arrest-1-Richtlinie wird im Navigator auf der linken Seite des API-Proxy-Editors unter Richtlinien hinzugefügt.
    • Das Spike Arrest-1-Symbol wird der Designeransicht im oberen Bereich des API-Proxy-Editors hinzugefügt, das eine visuelle Darstellung der Nachrichten-Flows Ihres Proxys darstellt.
    • Die XML für die Richtlinie wird in der Codeansicht unten in der Mitte des API-Proxy-Editors angezeigt.

    PreFlow mit Spike Arrest-Richtlinie ansehen

  10. Wählen Sie im Navigator Spike Arrest-1 unter „Richtlinien“ aus und beachten Sie Folgendes im API-Proxy-Editor:
    • Die Richtliniendetails werden in der Designeransicht oben in der Mitte des API-Proxy-Editors angezeigt.
    • Die XML für die Richtlinie wird in der Codeansicht unten in der Mitte des API-Proxy-Editors angezeigt.
    • Die XML-Element- und Attributwerte für die Richtlinie werden im Property Inspector auf der rechten Seite des API-Proxy-Editors angezeigt.

  11. Ändern Sie in der XML für die Richtlinie den Wert des Elements <Rate> in 1pm (dies entspricht ungefähr zwei Anfragen, die alle 60 Sekunden in der Cloud zulässig sind).

    Sie können die Rate als Ganzzahlwert pro Minute (pm) oder pro Sekunde (ps) angeben. Dies ist ein sehr geringes Limit und wird nur für diese Anleitung verwendet, um die Richtlinie zu veranschaulichen. In der Regel legen Sie dafür einen viel höheren Grenzwert fest.

    Beachten Sie, dass sich der Wert Rate im Property Inspector in "1pm" ändert. Alternativ können Sie den Wert Rate im Property Inspector ändern, der dann in der XML-Ansicht angezeigt wird.

  12. Klicken Sie auf Speichern, um die aktuelle Überarbeitung mit Ihren Änderungen zu speichern.
  13. Rufen Sie die API mit curl auf und ersetzen Sie org_name durch den Namen Ihrer Apigee-Organisation:

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

    Beispiel:

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

    Prüfen Sie, ob die Anfrage erfolgreich ist und Sie die gleiche XML-Antwort sehen wie zuvor. Sie können auch nur die URL in einen Webbrowser eingeben.

  14. Führen Sie den Befehl curl innerhalb einer Minute noch zwei- oder dreimal aus (oder aktualisieren Sie das Browserfenster). Sie erhalten die folgende Meldung, da die Ratenbegrenzung der Richtlinie überschritten wurde:
    {
    "fault": {
      "faultstring":"Spike arrest violation. Allowed rate : 1pm",
      "detail": {
        "errorcode":"policies.ratelimit.SpikeArrestViolation"}
      }
    }

    Wenn Sie versuchen, die Anzahl der Aufrufe innerhalb einer Minute zu erhöhen, sollten Sie die Fehlermeldung weiterhin erhalten.

  15. Bearbeiten Sie die Richtlinie so, dass sie als <Rate>-Limit auf 15pm festgelegt ist. Dies entspricht ungefähr zwei Aufrufen, die alle vier Sekunden in der Cloud ausgeführt werden. Speichern Sie dann den API-Proxy.
  16. Führen Sie den Befehl curl aus oder aktualisieren Sie den Browser wiederholt (curl ist schneller). Wenn Sie einen oder zwei Anrufe innerhalb von vier Sekunden ausführen, sind Ihre Aufrufe erfolgreich. Wenn Sie die Aufrufe schnell machen, mehr als zwei innerhalb von vier Sekunden, sollten Sie den Fehler erhalten. Aber nach jedem 4-Sekunden-Intervall können Sie neue Aufrufe machen, anstatt eine ganze Minute lang gesperrt zu werden (bei Einstellung 1pm).