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.
* 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ę.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 2024-11-15 UTC."],[],[]]