Избыточность ScheduledExecutorService в среде с несколькими экземплярами - PullRequest
0 голосов
/ 12 марта 2019

Я запускаю веб-приложение на Java несколько раз за балансировщиком нагрузки.

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

Для обеспечения избыточности, каков наилучший способ обеспечить добавление задачи и к другим экземплярам?То есть, если что-то должно произойти с экземпляром, на который была намечена задача, я хочу убедиться, что другие экземпляры имеют запланированное задание, чтобы они могли ее выполнить.

(я не беспокоюсь о задачебудучи выполненным несколько раз, я могу просто пометить его как выполненный в моей базе данных, которая является общей для всех экземпляров).

Одно из решений состоит в том, чтобы просто запланировать задачу на каждый час на обоих серверах, которые проверяют (черезд.б.) если выполнить указанное задание.Хотя это выполнимо, оно требует запросов к базе данных каждый час или минуту.Так что, если есть способ сделать это, запланировав задачу один раз, это было бы лучше.

...