Quando há demasiados pedidos de API enviados de uma vez, isso afeta o desempenho do sistema. Pode ativar a Limitação da taxa (Rate Limiting), que impõe um limite ao número de pedidos de API enviados por cada utilizador.

O SD-WAN Orchestrator recorre a certos mecanismos de defesa que restringem o abuso da API e proporcionam estabilidade do sistema. Os pedidos de API que excedam os limites de pedido permitidos são bloqueados e devolvidos com HTTP 429 (demasiados pedidos). O sistema precisa de passar por um período de arrefecimento antes de voltar a fazer os pedidos.

Os seguintes tipos de limitadores de taxas são implementados no SD-WAN Orchestrator:
  • Limitador de recipiente com fuga (Leaky bucket limiter) – Suaviza o aumento brusco de pedidos e permite apenas um número predefinido de pedidos. Este limitador tem o cuidado de limitar o número de pedidos permitidos num determinado período de tempo.
  • Limitar de simultaneidade (Concurrency limiter) – Limita o número de pedidos que ocorrem em paralelo, o que leva a pedidos simultâneos a luta por recursos e pode resultar em consultas de longa duração.
Seguem-se as principais razões que conduzem à limitação da taxa dos pedidos de API:
  • Um grande número de pedidos ativos ou simultâneos.
  • Picos repentinos no volume de pedidos.
  • Pedidos que resultam em longas consultas no Orchestrator que ocupam recursos do sistema durante muito tempo antes de ser libertados.
Os programadores que dependem da API podem adotar as seguintes medidas para melhorar a estabilidade do respetivo código quando a capacidade de limitação da taxa VCO estiver ativada.
  • Fornecer o código de resposta HTTP 429 quando os pedidos excederem os limites de taxa.
  • A duração do tempo de penalização é de 5000 ms quando o limitador de taxa atinge o máximo permitido de pedidos num determinado período. Se bloqueado, espera-se que os clientes tenham um período de arrefecimento de 5000 ms antes de fazerem novamente pedidos. Os pedidos feitos durante o período de arrefecimento de 5000 ms continuarão a ser limitados.
  • Utilize intervalos de tempo mais curtos para as APIs de série temporal que não permitirão que o pedido expire devido a consultas de longa duração.
  • Prefira métodos de consulta de lote para aqueles que consultam clientes ou Edges individuais sempre que possível.
Nota: Os superutilizadores operadores configuram limites de taxa discretamente baseados no ambiente. Para quaisquer dúvidas sobre as políticas relevantes, contacte o operador.

Configurar políticas de limitação da taxa com propriedades do sistema

Pode utilizar as seguintes propriedades do sistema para ativar a limitação da taxa e definir o conjunto de políticas predefinido:
  • 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 obter mais informações sobre as propriedades do sistema, consulte Lista de propriedades do sistema.

Configurar políticas de limitação da taxa com APIs

Recomenda-se que configure as políticas do limitador da taxa como regras globais utilizando as propriedades do sistema, uma vez que esta abordagem produz o melhor desempenho possível da API, facilita a resolução de problemas e garante uma experiência consistente do utilizador em todos os parceiros e clientes. Contudo, em casos raros, os operadores podem determinar que as políticas globais são demasiado lentas para um determinado inquilino ou utilizador. Nestes casos, o VMware suporta as seguintes APIs apenas de operadores para definir políticas para parceiros e empresas específicos.
  • enterpriseProxy/insertOrUpdateEnterpriseProxyRateLimits – Utilizado para configurar políticas específicas de parceiros.
  • enterprise/insertOrUpdateEnterpriseRateLimits – Utilizado para configurar políticas específicas de clientes.

Para obter mais informações sobre as APIs, consulte https://code.vmware.com/apis/1037/velocloud-sdwan-vco-api.