Wenn zu viele API-Anforderungen gleichzeitig gesendet werden, wird die Systemleistung dadurch beeinträchtigt. Sie können die Ratenbegrenzung aktivieren. Dadurch wird eine Begrenzung für die Anzahl der von jedem Benutzer gesendeten API-Anforderungen erzwungen.

SD-WAN Orchestrator nutzt bestimmte Abwehrmechanismen, die den Missbrauch der API eindämmen und für Systemstabilität sorgen. API-Anforderungen, die die Grenzwerte zulässiger Anforderungen überschreiten, werden blockiert und es wird die Fehlermeldung HTTP 429 zurückgegeben (Zu viele Anforderungen). Das System muss eine Abkühlungsphase durchlaufen, bevor die Anforderungen erneut gestellt werden.

Die folgenden Arten von Ratenbegrenzern werden auf SD-WAN Orchestrator bereitgestellt:
  • Leaky Bucket-Begrenzer (Leaky Bucket Limiter): Glättet den Burst von Anforderungen und lässt nur eine vorher definierte Anzahl von Anforderungen zu. Dieser Begrenzer kümmert sich um die Begrenzung der Anzahl der in einem bestimmten Zeitfenster erlaubten Anforderungen.
  • Gleichzeitigkeitsbegrenzer (Concurrency limiter) – Begrenzt die Anzahl der parallel auftretenden Anforderungen. Wenn zu viele Anforderungen parallel auftreten, konkurrieren sie um die Ressourcen konkurrieren, was zu langen Laufzeiten von Abfragen führen kann.
Nachfolgend finden Sie die Hauptgründe, die zu einem Grenzwert für die Rate der API-Anforderungen führen:
  • Eine große Anzahl aktiver oder gleichzeitiger Anforderungen.
  • Plötzliche Spitzen im Anforderungsvolumen.
  • Anforderungen, die zu langen Laufzeiten von Abfragen in Orchestrator führen, wodurch die Systemressourcen über lange Zeit nicht für andere Prozesse verfügbar sind.
Entwickler, die auf die API angewiesen sind, können mithilfe der folgenden Maßnahmen die Stabilität ihrer Codes verbessern, wenn die VCO-Ratenbegrenzungsfunktion aktiviert ist.
  • Verarbeitung von HTTP 429-Antwortcode, wenn Anforderungen die den Grenzwert für die Rate überschreiten.
  • Der Strafzeitraum beträgt 5000 ms, wenn der Ratenbegrenzer die maximale Anzahl zulässiger Anforderungen in einem bestimmten Zeitraum erreicht hat. Wenn blockiert, wird davon ausgegangen, dass die Clients eine Abkühlungsphase von 5000 ms haben werden, bevor sie erneut Anforderungen stellen. Die maximal zulässige Anzahl der Anforderungen, die während der Abkühlungsphase von 5000 ms gestellt werden können, ist weiterhin begrenzt.
  • Verwenden Sie kürzere Zeitintervalle für Zeitreihen-APIs, damit die Anforderung nicht aufgrund langer Laufzeiten bei Anforderungen abläuft.
  • Batch-Abfragemethoden sind gegenüber Methoden, die einzelne Kunden oder Edges abfragen, nach Möglichkeit zu bevorzugen.
Hinweis: Operator-Superuser konfigurieren die Grenzwerte für Raten diskret unter Berücksichtigung der Umgebung. Bei Fragen zu einschlägigen Richtlinien wenden Sie sich bitte an Ihren Operator.

Konfigurieren von Richtlinien für die Ratenbegrenzung mithilfe der Systemeigenschaften

Mithilfe der folgenden Systemeigenschaften können Sie die Ratenbegrenzung aktivieren und den Standardsatz von Richtlinien definieren:
  • vco.api.rateLimit.enabled
  • vco.api.rateLimit.mode.logOnly
  • vco.api.rateLimit.rules.global
  • vco.api.rateLimit.rules.enterprise.default
  • vco.api.rateLimit.rules.enterpriseProxy.default

Weitere Informationen zu den Systemeigenschaften finden Sie unter Liste der Systemeigenschaften.

Konfigurieren von Richtlinien für die Ratenbegrenzung mithilfe von APIs

Es wird empfohlen, die Ratenbegrenzungsrichtlinien mithilfe der Systemeigenschaften als globale Regeln zu konfigurieren, da dieser Ansatz die bestmögliche API-Leistung erbringt, die Fehlerbehebung erleichtert und eine einheitliche Benutzererfahrung für alle Partner und Kunden gewährleistet. In seltenen Fällen können Operatoren jedoch feststellen, dass die globalen Richtlinien für einen bestimmten Mandanten oder Benutzer zu lax sind. In solchen Fällen unterstützt VMware die nachfolgend aufgeführten auf den Operator beschränkten APIs, um Richtlinien für bestimmte Partner und Unternehmen festzulegen.
  • enterpriseProxy/insertOrUpdateEnterpriseProxyRateLimits – Wird zum Konfigurieren partnerspezifischer Richtlinien verwendet.
  • enterprise/insertOrUpdateEnterpriseRateLimits – Wird zum Konfigurieren kundenspezifischer Richtlinien verwendet.

Weitere Informationen zu den APIs finden Sie unter https://code.vmware.com/apis/1037/velocloud-sdwan-vco-api.