Porównanie zasad Quota i SpikeArrest

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

Zasady dotyczące limitu i blokowania skoku – zastanawiasz się, której z nich użyć, aby najlepiej spełnić swoje potrzeby w zakresie ograniczania szybkości? Zobacz tabelę porównawczą poniżej.

Limit SpikeArrest
Pozwala na: Ogranicz liczbę połączeń, które aplikacje mogą nawiązywać z docelowym backendem w przejściu API w określonym przedziale czasu. Chroń backend docelowy 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 wzrostem natężenia ruchu.

W tym 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 serwera proxy interfejsu API w określonym czasie.

W tym celu użyj zasady dotyczącej limitu.

przechowuje liczbę; Tak Nie
Sprawdzone metody dołączania zasad:

Dołącz go do wstępnej ścieżki żądania ProxyEndpoint, zwykle po uwierzytelnieniu użytkownika.

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

Dołącz go do wstępnej ścieżki żądania ProxyEndpoint, zazwyczaj na samym początku ścieżki.

Zapewnia to ochronę przed nagłymi wzrostami 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 limitu jest przechowywany w Cassandra.
  • Skonfiguruj zasadę tak, aby zsynchronizować licznik asynchronicznie, aby oszczędzać zasoby.
  • Asynchroniczne zliczanie może spowodować opóźnienie odpowiedzi na ograniczenie szybkości, co może umożliwić wywołania nieco przekraczające ustawiony przez Ciebie limit.
  • Ograniczenie przepustowości jest wykonywane na podstawie czasu, w którym został odebrany ostatni ruch. Ten czas jest przechowywany dla każdego procesora wiadomości.
  • Jeśli określisz limit szybkości na poziomie 100 wywołań na sekundę, procesor wiadomości będzie mógł wykonać tylko 1 wywołanie co 1/100 sekundy (10 ms). Drugie wywołanie w ciągu 10 ms zostanie odrzucone.
  • Nawet przy wysokim limicie częstotliwości na sekundę żądania wysyłane prawie jednocześnie mogą zostać odrzucone.
Więcej informacji: Zasady dotyczące limitów SpikeArrest policy

* W przypadku polityki dotyczącej limitu kwoty i polityki SpikeArrest domyślny kod stanu HTTP w przypadku przekroczenia limitu szybkości to ogólny kod500 Internal Server Error. Możesz zmienić kod stanu tych zasad na 429 Too Many Requests, dodając usługę na poziomie organizacji (features.isHTTPStatusTooManyRequestEnabled). Jeśli korzystasz z Google Cloud, skontaktuj się z zespołem pomocy Apigee Edge, aby włączyć tę usługę.