Возможность дросселирования службы в Spring Загрузка

Есть ли способ достичь возможности дросселирования обслуживания для остальных служб в Spring, особенно при загрузке Spring.

Ожидание здесь: Мои сервисы открыты для внешнего мира, в настоящее время нет ограничений на количество вызовов службы в секунду/мин. Мы хотим контролировать это, установив предел дросселирования.

  • У меня есть альтернативный вариант, отслеживая запросы в параллельной Hash-карте или любом кэширующем механизме.

Но больше интересуется способом Spring при рассмотрении этого. Я знаю, что смогу сделать это в node.js/scala

Ответ 1

Существует довольно новый проект с открытым исходным кодом, который обрабатывает это:

https://github.com/weddini/spring-boot-throttling

Декларативный подход к регулированию контроля над сервисами Spring. @Throttling аннотация помогает вам ограничить количество методов обслуживания звонки за java.util.concurrent.TimeUnit для конкретного пользователя, IP адрес, заголовок HTTP/значение cookie или использование языка выражений Spring (Spel).