Jeśli próbujesz ograniczyć dostęp do swojego interfejsu REST opartego na Springu, powinieneś użyć algorytmu token-bucket.
Istnieje projekt bucket4j-spring-boot-starter, który używa biblioteki bucket4j do ograniczania szybkości dostępu do interfejsu API REST. Możesz to skonfigurować poprzez plik właściwości aplikacji. Istnieje możliwość ograniczenia dostępu na podstawie adresu IP lub nazwy użytkownika.
Jeśli korzystasz z Netflix Zuul, możesz użyć Spring Cloud Zuul RateLimit, który wykorzystuje różne opcje przechowywania:Consul, Redis, Spring Data i Bucket4j.