Porównanie zasad Quota i SpikeArrest

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Zasady dotyczące limitów i SpikeArrest – nie wiesz, których użyć, aby najlepiej spełnić wymagania dotyczące ograniczania liczby żądań? Zapoznaj się z tabelą porównawczą poniżej.

Quota SpikeArrest
Pozwala na: ograniczenie liczby połączeń, które aplikacje mogą nawiązywać z docelowym backendem proxy interfejsu API w określonym czasie. ochronę docelowego backendu proxy interfejsu API przed gwałtownymi wzrostami ruchu i atakami typu DoS.
Nie używaj go do:

nie używaj go do ochrony docelowego backendu proxy interfejsu API przed gwałtownymi wzrostami ruchu.

Do tego celu użyj zasady SpikeArrest.

nie używaj go do zliczania i ograniczania liczby połączeń, które aplikacje mogą nawiązywać z docelowym backendem proxy interfejsu API w określonym czasie.

Do tego celu użyj zasady dotyczącej limitów.

Przechowuje liczbę? Tak Nie
Sprawdzone metody dołączania zasady:

Dołącz ją do ProxyEndpoint Request PreFlow, zwykle po uwierzytelnieniu użytkownika.

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

Dołącz ją do ProxyEndpoint Request PreFlow, zwykle na samym początku przepływu.

Zapewnia to ochronę przed gwałtownymi wzrostami ruchu w punkcie wejścia 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 synchronizowała licznik asynchronicznie, co pozwoli zaoszczędzić zasoby.
  • Asynchroniczna synchronizacja licznika może spowodować opóźnienie w odpowiedzi na ograniczenie liczby żądań, co może pozwolić na wywołania nieco przekraczające ustawiony limit.
  • Przeprowadza ograniczanie przepustowości na podstawie czasu, w którym odebrano ostatni ruch. Ten czas jest przechowywany w procesorze wiadomości.
  • Jeśli określisz limit 100 wywołań na sekundę, w procesorze wiadomości będzie dozwolone tylko 1 wywołanie co 1/100 sekundy (10 ms). Drugie wywołanie w ciągu 10 ms zostanie odrzucone.
  • Nawet przy wysokim limicie na sekundę prawie jednoczesne żądania mogą zostać odrzucone.
Więcej informacji: Zasady dotyczące limitów Zasady SpikeArrest polityka

* W przypadku zasad dotyczących limitów i SpikeArrest, domyślny kod stanu HTTP w przypadku przekroczenia limitu to ogólny 500 Internal Server Error. Możesz zmienić kod stanu tych zasad na 429 Too Many Requests dodając właściwość na poziomie organizacji (features.isHTTPStatusTooManyRequestEnabled). Jeśli jesteś klientem Cloud, skontaktuj się z zespołem pomocy Apigee Edge, aby włączyć tę właściwość.