우리의 (봄) 응용 프로그램은 Schedulers
에 몇 가지 데이터 (Database
)를 변경/업데이트하기 위해 밤 중에 활성화되는 여러 개의 Schedulers
을 포함합니다.클러스터 된 환경의 스케줄러
이것은 모두 잘 돌아가고 있습니다. 문제는 애플리케이션이 곧 clustered environment
에서 실행된다는 것입니다.
과 instance B
이 동시에 작동하는 것을 방지하는 가장 좋은 방법은 무엇입니까?
** UPDATE **
클러스터 환경은 'active-active'
로 설정입니다.
각 노드는 자신의 데이터베이스 인스턴스와 통신합니다. 각 데이터베이스 인스턴스는 다른 인스턴스에 replicate
데이터입니다.
DB 인스턴스는 'master-slave'
으로 설정되지 않지만 각 인스턴스는 insert-update-delete 작업을 실행하는 Galera cluster
에서 실행됩니다.
따라서 각 scheduler
은 한 번에 한 번만 실행해야합니다. 다른 인스턴스는 스케줄러를 실행하지 않아야합니다. 그래서 한 인스턴스의 스케줄러가 실행되는 방식을 찾아야합니다. 다른 인스턴스의 동일한 스케줄러가 실행되어서는 안됩니다.
[클러스터 환경에서 실행되는 Spring Scheduled Task]의 가능한 복제본 (http://stackoverflow.com/questions/31288810/spring-scheduled-task-running-in-clustered-environment) –
대답이 있습니까? –
더 명확하게하기 위해 질문을 업데이트 한 후에 답변을받지 못했습니다. – user2054927