Lors de l'envoi d'un trop grand nombre de demandes d'API simultanées, cela a une incidence sur les performances du système. Vous pouvez activer la limite de débit, ce qui applique une limite au nombre de demandes d'API envoyées par chaque utilisateur.

SASE Orchestrator utilise certains mécanismes de défense qui permettent de limiter les abus d'API et assure la stabilité du système. Les demandes d'API qui dépassent les limites de demandes autorisées sont bloquées et renvoyées avec le code d'état HTTP 429 (trop de demandes). Le système doit passer par une période de refroidissement avant de refaire les demandes.

Les types de limiteurs de débit suivants sont déployés sur SASE Orchestrator :
  • Limiteur de seau percé (Leaky bucket limiter) : limite la rafale de demandes et n'autorise qu'un nombre prédéfini de demandes. Ce limiteur veille à limiter le nombre de demandes autorisées dans une fenêtre de temps donnée.
  • Limiteur de simultanéité (Concurrency limiter) : limite le nombre de demandes autorisées qui se produisent en parallèle, ce qui génère des demandes simultanées en quête de ressources et peut entraîner des requêtes de longue durée.
Voici les principales raisons qui conduisent à une limite de débit pour les demandes d'API :
  • Grand nombre de demandes actives ou simultanées.
  • Pics soudains du volume de demandes.
  • Abandon des demandes conduisant à des requêtes de longue durée sur Orchestrator qui mobilisent longtemps des ressources système.
Les développeurs qui s'appuient sur l'API peuvent adopter les mesures suivantes pour améliorer la stabilité de leur code lorsque la capacité de limite de débit VCO est activée.
  • Gérez le code de réponse HTTP 429 lorsque les demandes dépassent les limites de débit.
  • La durée de la pénalité est de 5 000 ms lorsque le limiteur de débit atteint le nombre maximal de demandes autorisées dans une période donnée. Il est prévu, en cas de blocage, que les clients observent une période de refroidissement de 5 000 ms avant d'effectuer des demandes. Les demandes effectuées pendant la période de refroidissement de 5 000 ms restent limitées en débit.
  • Utilisez des intervalles de temps plus courts pour les API de séries chronologiques qui n'autorisent pas l'expiration de la demande en raison de requêtes de longue durée.
  • Dans la mesure du possible, préférez les méthodes de requête par lot à celles qui interrogent des clients ou des dispositifs Edge individuels.
Note : Les super utilisateurs opérateurs configurent des limites de débit discrètement en fonction de l'environnement. Pour les requêtes sur les stratégies pertinentes, contactez votre opérateur.

Configurer les stratégies de limite de débit à l'aide de propriétés système

Vous pouvez utiliser les propriétés système suivantes pour activer la limite de débit et définir l'ensemble de stratégies par défaut :
  • 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

Pour plus d'informations sur les propriétés système, reportez-vous à la section Liste des propriétés système.

Configurer les stratégies de limite de débit à l'aide d'API

Il est recommandé de configurer les stratégies du limiteur de débit comme règles globales à l'aide des propriétés système, car cette approche génère les meilleures performances d'API possibles, facilite le dépannage et garantit une expérience utilisateur cohérente pour tous les partenaires et les clients. Dans de rares cas cependant, les opérateurs peuvent décider que les stratégies globales sont trop souples pour un locataire ou un utilisateur particulier. Dans ces cas spécifiques, VMware prend en charge les API d'opérateur uniquement suivantes pour définir des politiques pour des partenaires et des entreprises spécifiques.
  • enterpriseProxy/insertOrUpdateEnterpriseProxyRateLimits : permet de configurer les stratégies spécifiques au partenaire.
  • enterprise/insertOrUpdateEnterpriseRateLimits : permet de configurer les stratégies spécifiques au client.

Pour plus d'informations sur les API, reportez-vous à la section https://code.vmware.com/apis/1037/velocloud-sdwan-vco-api.