2개의 서로 다른 서버에 2개의 애플리케이션이 있지만 동시에 1개의 서버에서 1개의 애플리케이션만 실행되도록 하는 방법

2개의 서로 다른 서버에 2개의 애플리케이션이 있지만 동시에 1개의 서버에서 1개의 애플리케이션만 실행되도록 하는 방법

2개의 서버에 배포된 Java로 작성된 애플리케이션이 있습니다. 하지만 하나의 서버에서만 애플리케이션을 시작할 수 있습니다. 두 서버에서 애플리케이션을 실행하면 충돌이 발생합니다. 그래서 저는 애플리케이션의 코드를 편집할 필요 없이 내 애플리케이션이 하나의 서버에서만 실행되도록 하는 솔루션을 찾고 있습니다.

답변1

이 문제를 해결하는 소프트웨어는 오랫동안 존재해 왔습니다.맥박 조정 장치

불행하게도 이는 구성이 간단하지 않습니다.

애플리케이션이 시간이 중요하지 않은 경우 간단한 솔루션을 사용하여 공유 저장소에 파일을 생성하고, 애플리케이션이 실행 중인 서버를 지정하고, 시작 시 파일을 확인할 수도 있습니다. 그러나 응용 프로그램이 충돌하면 파일이 삭제되고 두 서버가 동일하게 시작될 수 없도록 해야 합니다.

이때 관리자는 경쟁 조건이 발생하지 않기를 바라며 파일이나 네트워크 포트의 존재 여부를 폴링하는 자체 래퍼 스크립트와 맥박 조정기와 같은 완벽하지만 복잡한 솔루션 중에서 결정합니다.

두 옵션의 단점을 비교해야 합니다.

관련 정보