Porównanie zasad Quota i SpikeArrest

Wyświetlasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X.
informacje.

Zasady dotyczące limitów i SpikeArrest – zastanawiasz się, którego z nich użyć, aby najlepiej zaspokoić potrzeby związane z ograniczeniem liczby żądań? Zobacz tabelę porównawczą poniżej.

Limit Zatrzymanie SpikeArrest
Pozwala na: Ogranicz liczbę połączeń, które aplikacje mogą nawiązać z docelowym backendem serwera proxy interfejsu API w określonym czasie. Chroń docelowy backend serwera proxy interfejsu API przed poważnymi skokami ruchu i atakami typu „odmowa usługi”.
Nie używaj go do:

Nie używaj jej do ochrony docelowego backendu serwera proxy interfejsu API przed nagłym wzrostem ruchu.

W tym celu użyj zasady SpikeArrest.

Nie należy jej używać do liczenia i ograniczania liczby połączeń, które aplikacje mogą nawiązać z docelowym backendem serwera proxy interfejsu API w określonym czasie.

W tym celu użyj zasady dotyczącej limitów.

Zapisuje liczbę? Tak Nie
Sprawdzone metody dołączania zasad:

Dołącz go do PreFlow żądania ProxyEndpoint, zwykle po uwierzytelnieniu użytkownika.

Dzięki temu zasada może sprawdzać licznik limitów w punkcie wejścia serwera proxy interfejsu API.

Dołącz go do wstępnego procesu żądania ProxyEndpoint, zwykle na samym początku procesu.

Zapewnia to ochronę przed skokami w punkcie wejścia Twojego serwera proxy interfejsu API.

Kod stanu HTTP po osiągnięciu limitu:

500 (Wewnętrzny błąd serwera) *

500 (Wewnętrzny błąd serwera) *

Warto wiedzieć:
  • Licznik limitów jest przechowywany w Cassandra.
  • Skonfiguruj zasadę tak, aby asynchronicznie synchronizować licznik, aby oszczędzać zasoby.
  • Asynchroniczna synchronizacja licznika może spowodować opóźnienie w odpowiedzi ograniczającej szybkość, przez co liczba wywołań może nieznacznie przekraczać ustawiony limit.
  • Ograniczanie wykorzystania na podstawie czasu otrzymania ostatniego ruchu. Ten czas jest zapisywany przez procesor wiadomości.
  • Jeśli określisz limit liczby wywołań na 100 wywołań na sekundę, procesor wiadomości będzie mógł używać tylko 1 wywołania co 1/100 sekundy (10 ms). Drugie wywołanie w ciągu 10 ms zostanie odrzucone.
  • Nawet przy wysokim limicie liczby żądań na sekundę niemal jednoczesna realizacja żądań może skutkować odrzuceniem.
Więcej informacji: Zasady dotyczące limitów Zasady dotyczące SpikeArrest

* W przypadku zasad dotyczących limitów i SpikeArrest domyślny kod stanu HTTP w przypadku przekroczenia limitu liczby żądań to ogólny kod 500 Internal Server Error. Możesz zmienić kod stanu tych zasad na 429 Service Unavailable, dodając właściwość na poziomie organizacji (features.isHTTPStatusTooManyRequestEnabled). Jeśli jesteś klientem Google Cloud, skontaktuj się z zespołem pomocy Apigee Edge w celu włączenia tej właściwości.