여러 Tomcat 인스턴스에 Spring Integration 4.3.8 앱이 배포되어 있고 앱은 org.springframework.integration:spring-integration-zookeeper:4.3.8.RELEASE
을 사용하여 한 번에 하나씩 만 선출 된 클러스터에서 앱의 여러 인스턴스를 실행합니다. 리더.Spring Integration Zookeeper - 현재 내가 선두 주자
질문 : 내가 리더인지 아닌지를 앱에서 쿼리하는 가장 간단한 방법은 무엇입니까? 사용 가능한 큐레이터/사육사 API를 통해이 정보를 얻을 수 있습니까? 또는 어떤 종류의 이벤트 리스너를 만들어야합니까?
'isRunning는()'끝점 중 하나를; 당신이 지도자라면 그것은 사실 일 것입니다. –
@GaryRussell, 우리 엔드 포인트는 배포가 리더가 되더라도 일부 엔드 포인트를 시작하지 못하게하려는 비즈니스 사례가 있으므로 무시되었습니다. 사실 이것은 우리가 리더인지 여부를 알 수있는 방법을 찾고있는 이유이며, 따라서 hasLeadership = true 일 때만 오버라이드 된 끝점에서 super.start()를 호출 할 수 있습니다. 그러므로 왜이 경우 엔트 포인트에서'isRunning()'을 쿼리하는 것이 우리를 위해 작동하지 않습니다. –
OK, @PonderMuse! 내 답변이 귀하의 유스 케이스에 적합한 지 궁금합니다. –