Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ograniczanie szybkości to mechanizm kontroli używany przez interfejsy API chmury do regulowania liczby żądań, które użytkownik może wykonać w określonym czasie. Producenci interfejsów API w chmurze używają ograniczania szybkości, aby upewnić się, że przepływ żądań nie przeciąża usługi. Ograniczanie szybkości ustawia limit szybkości i liczby wywołań interfejsu API. Limity szybkości są zwykle definiowane pod kątem liczby żądań w określonym czasie.
Dlaczego interfejsy API w chmurze używają ograniczania szybkości
- Zapobiegaj przeciążeniu. Ograniczanie szybkości zapewnia, że serwer interfejsu API pozostaje stabilny i dynamiczny, uniemożliwiając każdemu jednemu użytkownikowi lub usłudze zalanie go zbyt wieloma żądaniami.
- Zadbaj o sprawiedliwe użycie. Ograniczanie szybkości wymusza zasady sprawiedliwego użycia, zapewniając, że żaden pojedynczy użytkownik nie monopolizuje zasobów interfejsu API. Ograniczanie szybkości umożliwia sprawiedliwy dostęp do wszystkich użytkowników.
- Zwiększ bezpieczeństwo. Ograniczanie szybkości pomaga w ograniczeniu ataków rozproszonej odmowy usługi i innych obraźliwych zachowań przez ograniczenie liczby żądań z potencjalnie złośliwych źródeł.
- Zarządzanie kosztami. W przypadku dostawców usług w chmurze ograniczanie szybkości pomaga w zarządzaniu kosztami operacyjnymi, zapobiegając nieprzewidywalnemu lub nadmiernemu wykorzystaniu zasobów.
- Zachowaj jakość usług. Ograniczanie szybkości zapewnia spójną jakość usług dla wszystkich użytkowników, uniemożliwiając skoki ruchu.
Jak występuje ograniczanie szybkości w aplikacjach
Podczas tworzenia aplikacji, które integrują interfejsy API w chmurze, sprawdź ich dokumentację, aby sprawdzić, czy obsługują one ograniczanie szybkości. Jeśli tak, otrzymasz RateLimit-... lub X-RateLimit-... nagłówki odpowiedzi z informacjami o limitach szybkości. Te informacje można użyć w aplikacji, aby upewnić się, że nie przekraczasz limitów szybkości interfejsu API. Na przykład RateLimit-Remaining nagłówek wskazuje liczbę żądań pozostałych w bieżącym oknie. Jeśli otrzymasz odpowiedź z tym nagłówkiem ustawionym na 0, wiesz, że osiągnięto limit liczby żądań i należy poczekać na następne okno przed wysłaniem kolejnego żądania. Nagłówek RateLimit-Reset wskazuje czas resetowania limitu szybkości. Niektóre API wysyłają RateLimit-... nagłówki dopiero po osiągnięciu progu. Przykładem jest, gdy masz 10% pozostałych żądań.
Po przekroczeniu limitu szybkości interfejs API ogranicza żądania i zwraca kod stanu HTTP 429 Too Many Requests . Niektóre interfejsy API mogą również wysyłać Retry-After nagłówek, aby wskazać, jak długo należy poczekać przed wysłaniem innego żądania.
Aby uniknąć ograniczania przepustowości i upewnić się, że aplikacja pozostaje elastyczna, zaimplementuj ograniczanie szybkości w aplikacji. W zależności od stosu technologii różne biblioteki mogą pomóc w obsłudze ograniczania szybkości w aplikacji. Po zaimplementowaniu ograniczania szybkości w aplikacji przetestuj, aby sprawdzić, czy obsługuje ona prawidłowe ograniczanie szybkości.