Opis projektu
PrzetłumaczoneDla algorytmów chcemy zarówno wariantu kubełka tokenów do wygładzania krótkich wybuchów, jak i licznika okna przesuwnego do precyzyjnego rozliczania w obrębie okna, wybieralnego na poziomie polityki. Liczniki powinny być przechowywane w Redis, aby wiele węzłów API widziało ten sam obraz zużycia bez rozbieżności, a samo sprawdzenie dodaje tylko milisekundę lub dwie opóźnienia. Poza prostymi limitami potrzebujemy pełnoprawnych poziomów kwot z miesięcznymi lub dziennymi limitami, śledzeniem zużycia na poziomie klucza oraz sposobem na zwrócenie pozostałej kwoty do wywołującego. Gdy limit zostanie przekroczony, usługa musi odpowiedzieć statusem 429, zwrócić standardowe nagłówki limitu, w tym limit, pozostało i reset, oraz dodać wskazówkę Retry-After, aby dobrze zachowujący się klienci ograniczali się sami.
Dostawa obejmuje mały panel administracyjny lub format konfiguracyjny do opisywania planów taryfowych i powiązań kluczy, magazyn metryk do rozliczeń i analityki oraz jasną dokumentację. Proszę wyjaśnić, jak planujesz operacje atomowe w Redis, jak unikasz warunków wyścigu przy dużej współbieżności i jak przetestujesz obciążenie ogranicznika przed uruchomieniem na żywo.
— Polityki na poziomie klucza z algorytmami kubełka tokenów i okna przesuwnego
— Poziomy kwot z dziennymi i miesięcznymi limitami
— Wspólne liczniki w Redis z minimalnym dodatkowym opóźnieniem
— Śledzenie zużycia i raporty do rozliczeń
— Poprawne odpowiedzi 429 z limitami, pozostało, reset i nagłówkami Retry-After
— Konfiguracja administracyjna dla planów taryfowych i powiązań kluczy, dokumentacja i testy obciążeniowe