Наше (весеннее) приложение содержит несколько Schedulers
, которые становятся активными ночью для изменения/обновления некоторых данных (из Database
) в Batch
.
Все работает нормально, проблема в том, что наше приложение скоро запустится в clustered environment
.
Каковы наилучшие варианты предотвращения того, чтобы scheduler
из instance A
и instance B
выполняли одну и ту же работу одновременно?
** ОБНОВЛЕНИЕ **
Кластерная среда настроена как 'active-active'
.
Каждый узел взаимодействует со своим собственным экземпляром базы данных. Каждый экземпляр базы данных будет replicate
передавать данные другим экземплярам.
Экземпляры БД не настроены как 'master-slave'
, но будут работать в Galera cluster
, где каждый экземпляр выполняет операции вставки-обновления-удаления.
Таким образом, каждый scheduler
должен запускаться только один раз на одном экземпляре. Другие экземпляры не должны запускать планировщики. Поэтому мне нужно найти способ запуска планировщика одного экземпляра, чтобы не запускались одни и те же планировщики других экземпляров.