La limitation du débit des appels effectués aux services d'API permet d'améliorer la fiabilité des opérations et de réduire l'incidence des objets inactifs en cas de charge élevée.
Si un client dépasse la limite de débit, il obtient la réponse HTTP 429 Too Many Requests. Dans la réponse, l'en-tête Retry-After
indique la durée pendant laquelle le client doit patienter avant de pouvoir effectuer d'autres appels.
Vous pouvez activer la limite de débit par service. Par exemple, vous souhaiterez peut-être limiter les appels du service d'API Nova davantage que les appels de service d'API Neutron.
Procédure
Limitation des appels à l'API publique Neutron
La configuration suivante limite les appels à l'API publique Neutron. Si, sur une période de 10 secondes, l'API publique Neutron reçoit plus de 50 demandes envoyées par la même adresse IP source, alors pendant les 60 secondes suivantes, les équilibrages de charge renvoient des erreurs HTTP/429 à toute demande provenant de cette adresse source. Au bout de 60 secondes, l'adresse source peut recommencer à envoyer des demandes à l'API publique Neutron.
haproxy_throttle_period: 60 haproxy_neutron_max_requests: 50 haproxy_neutron_request_period: 10