В моем коде я отправляю пакетные запросы в пользовательскую базу данных. Время отклика каждой партии равно миллисекундам.Дросселируйте количество вызовов метода
Однако у меня есть ограничение на количество партий, которые я могу отправлять в секунду. Макс одной партии. В случае дополнительных партий партия будет отброшена, что не является желательным.
Я могу использовать Thread.sleep()
в течение секунды, чтобы я никогда не попадал в базу данных с более чем одной периодичностью в секунду.
Псевдокод выглядит следующим образом:
createBatch()
sendBatch()
То, что я пытаюсь сделать, это предел, сколько раз sendBatch()
вызывается в секунду.
Могу ли я достичь этого, используя любую дроссельную библиотеку, а не используя Thread.sleep()
?
Ну, вы посмотрели на любые дросселирующие библиотеки? – Kayaman
Я считал Guava, но не понял, как использовать его в моем сценарии. Также я не спрашиваю о ограничении ресурсов. Я только хочу контролировать количество хитов метода. Предполагается, что этот метод будет последовательно ударяться. Исходя из некоторых критериев, этот метод может занять слишком мало или слишком долгое время. Я хочу убедиться, что существует верхний предел количества обращений к методу за определенный период времени. – sujith