Spring boot aws планировщик экземпляров кластера - PullRequest
0 голосов
/ 08 февраля 2019

У меня есть приложение с пружинной загрузкой, которое принимает запрос от пользователей и сохраняет данные в дБ.

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

Но мое приложение разворачивается в AWS EC2 в 2 случаях.Таким образом, этот процесс планировщика будет выполняться в обоих экземплярах, что приведет к дублированию вызовов интеграции.

Любые предложения о том, как этого можно избежать, чтобы избежать дублирования вызовов.

У меня не было никакого кодана данный момент, чтобы поделиться.

Пожалуйста, поделитесь своими мыслями ... Спасибо.

1 Ответ

0 голосов
/ 08 февраля 2019

Похоже, на этот же вопрос был дан ответ: Запланированное задание Spring выполняется в кластерной среде

Мое решение: 1) Легко - вы можете переместить запланированный процесс в отдельный экземпляр изте, которые обслуживают трафик, и запускают его только в одном экземпляре, «сервер заданий», если хотите.

2) Наиболее масштабируемые - имеют запланированное задание в двух экземплярах, но им как-то придется синхронизировать, ктоактивный и кто находится в режиме ожидания (возможно, с кешем, таким как AWS Elasticache).Или вы можете переключиться на использование планировщика заданий Quartz с сохранением JDBCJobStore, и он может координировать, какой из 2 экземпляров получит выполнение задания.http://www.quartz -scheduler.org / документация / кварц-2.x / учебники / учебник-урок-09.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...