Мое приложение делает запросы веб-службы; существует максимальная скорость запросов, которые будет обрабатываться провайдером, поэтому мне нужно отключить их.
Когда приложение запускалось на одном сервере, я использовал его на уровне приложения: объект, который отслеживает, сколько запросов было сделано до сих пор, и ожидает, будет ли текущий запрос превышать максимально допустимую нагрузку.
Теперь мы переносимся с одного сервера на кластер, поэтому есть две копии приложения.
- Я не могу продолжать проверять максимальную нагрузку на код приложения, потому что два объединенных узла могут превышать допустимую нагрузку.
- Я не могу просто уменьшить нагрузку на каждый сервер, потому что если другой node неактивен, первый node может отправить больше запросов.
Это среда JavaEE 5. Каков наилучший способ дросселировать запросы, отправляемые приложением?