R
rate-limiting-apis
Chroń swoje API przed przeciążeniem za pomocą zaawansowanego rate limitingu
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do implementacji zaawansowanego ograniczania częstotliwości żądań do API. Obsługuje algorytmy sliding window, token bucket i fixed window counter, wspierane przez Redis dla wdrożeń rozproszonych. Pozwala ustawić limity per endpoint, per użytkownik i per klucz API z tiered quotami i burstowymi przydziałami. Automatycznie dodaje nagłówki HTTP informujące klientów o statusie limitów. Idealny dla ochrony API przed nadmiernymi żądaniami i zarządzaniem planami dostępu (Free, Pro, Enterprise).
Jak używać
- Przeanalizuj wzorce ruchu na swoich endpointach, czytając logi dostępu lub metryki, aby określić odpowiednie limity dla każdej kategorii (operacje read-heavy, write-heavy, zasobochłonne).
- Wybierz algorytm rate limitingu dla każdego endpointu: token bucket dla ruchu z pikami, sliding window log dla precyzyjnych limitów per sekundę, lub fixed window counter dla prostego egzekwowania quotów.
- Wdroż middleware rate limitingu, które wyodrębnia identyfikator klienta (klucz API z nagłówka, ID użytkownika z JWT, lub adres IP jako fallback) i sprawdza go względem skonfigurowanego limitu.
- Skonfiguruj tiered limity dla różnych planów dostępu: Free (100 req/min), Pro (1000 req/min), Enterprise (10000 req/min) lub dostosuj do swoich potrzeb.
- Upewnij się, że masz dostęp do Redis 6+ dla rozproszonego stanu rate limitów w przypadku wdrażania na wielu instancjach.
- Monitoruj wskaźniki trafień rate limitów i metryki odrzuconych żądań, a następnie opublikuj politykę rate limitingu w dokumentacji API dla konsumentów.