Cuando hay demasiadas solicitudes de API enviadas a la vez, esto afecta al rendimiento del sistema. Puede habilitar la limitación de velocidad, lo que aplica un límite a la cantidad de solicitudes de API que envía cada usuario.

SD-WAN Orchestrator utiliza ciertos mecanismos de defensa que refuerzan los abusos de la API y ofrece estabilidad del sistema. Las solicitudes de API que superan los límites de solicitudes permitidos se bloquean y se devuelven con HTTP 429 (Demasiadas solicitudes). El sistema tiene que pasar por un período de inactividad antes de volver a realizar las solicitudes.

Los siguientes tipos de limitadores de velocidad se implementan en SD-WAN Orchestrator:
  • Limitador de depósitos de fuga: se suaviza la ráfaga de solicitudes y solo se permite un número predefinido de solicitudes. Este limitador se encarga de limitar el número de solicitudes permitidas en un período determinado.
  • Limitador simultáneo: limita el número de solicitudes que se producen en paralelo, lo que da lugar a solicitudes simultáneas que luchan por los recursos y pueden dar como resultado consultas de larga ejecución.
A continuación, se indican las razones principales por las que se limita la velocidad de las solicitudes de API:
  • Número elevado de solicitudes activas o simultáneas.
  • Alzas repentinas en el volumen de solicitudes.
  • Solicitudes que provocan que las consultas de ejecución prolongada en Orchestrator contengan recursos del sistema durante el tiempo que se descartan.
Los desarrolladores que dependen de la API pueden adoptar las siguientes medidas para mejorar la estabilidad de su código cuando la capacidad de limitación de velocidad de VCO está habilitada.
  • Controle el código de respuesta HTTP 429 cuando las solicitudes superen los límites de velocidad.
  • La duración de la penalización es de 5000 ms cuando el limitador de velocidad alcanza el número máximo de solicitudes permitidas en un período determinado. Si se bloquea, se espera que los clientes tengan un período de inactividad de 5000 ms antes de volver a realizar las solicitudes. Las solicitudes realizadas durante el período de inactividad de 5000 ms aún tendrán limitación de velocidad.
  • Utilice intervalos de tiempo más cortos para las API de serie temporal que no permitan que la solicitud caduque debido a consultas de larga ejecución.
  • Siempre que sea posible, prefiera los métodos de consulta por lotes a aquellos que consultan a clientes o instancias individuales de Edge.
Nota: Los superusuarios operadores configuran de forma discreta los límites de velocidad con base en el entorno. Para cualquier consulta sobre las directivas pertinentes, póngase en contacto con el operador.

Configurar directivas de limitación de velocidad mediante propiedades del sistema

Puede usar las siguientes propiedades del sistema para habilitar la limitación de velocidad y definir el conjunto predeterminado de directivas:
  • 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

Para obtener más información sobre las propiedades del sistema, consulte Lista de propiedades del sistema.

Configurar políticas de limitación de velocidad mediante API

Se recomienda configurar las directivas del limitador de velocidad como reglas globales mediante las propiedades del sistema, ya que este enfoque produce el mejor rendimiento posible de la API, facilita la solución de problemas y garantiza una experiencia de usuario coherente entre todos los socios y clientes. Sin embargo, en raras ocasiones, los operadores pueden determinar que las directivas globales son muy poco estrictas para un usuario o un tenant en particular. En estos casos, VMware admite las siguientes API solo de operador para establecer directivas para socios y empresas específicos.
  • enterpriseProxy/insertOrUpdateEnterpriseProxyRateLimits: se utiliza para configurar directivas específicas del socio.
  • enterprise/insertOrUpdateEnterpriseRateLimits: se utiliza para configurar directivas específicas del cliente.

Para obtener más información sobre las API, consulte https://code.vmware.com/apis/1037/velocloud-sdwan-vco-api.