에 나는 큐레이터 클라이언트를 만들 :시간 초과 구성은 큐레이터
RetryPolicy retryPolicy = new RetryNTimes(3, 1000);
CuratorFramework client = CuratorFrameworkFactory.newClient(zkConnectString,
15000, // sessionTimeoutMs
15000, // connectionTimeoutMs
retryPolicy);
내 클라이언트 프로그램을 실행 나는 큐레이터가 사육사와 통신하기 위해 사용하고있는 NIC를 가져 와서 네트워크 파티션을 시뮬레이션 할 수 있습니다. 내가 보는 행동에 따라 몇 가지 질문이 있습니다.
- 10 초 후에
ConnectionStateManager - State change: SUSPENDED
메시지가 표시됩니다. 큐레이터가 다른 제한 시간 값의 백분율 또는 항상 10 초를 기준으로 구성 가능한 일시 중지 상태가 될 때까지의 시간입니까? - 마지막으로 성공한 하트 비트 이후 구성된 15 초 세션 제한 시간이 지난 후 알림을 수신하지 못합니다 (). I do 로그에
ZooKeeper - Session: 0x14adf3f01ef0001 closed
메시지가 표시됩니다. 그러나이 메시지는 캡처 또는 수신 대기 할 수있는 이벤트로 보이지 않습니다. 내가 여기서 뭔가를 놓치고 있니? - 연결이 끊어진 후 약 2 분 후에 결국
ConnectionStateManager - State change: LOST
메시지가 나타납니다. 왜 그렇게 오래 있지? - HA 시나리오에서 스플릿 브레인을 방지하기위한 방법으로 InterProcessMutex를 사용하는 것이 목표라면 가장 안전한 방법은 잠금 홀더가
SUSPENDED
메시지를 받았을 때 잠금을 잃었다 고 가정하는 것입니다. 사육사가 네트워크 파티션의 반대쪽에있는 잠금 장치를 해제했을 가능성이 완전히 있기 때문입니다. 이것은 전형적인/건전한 접근입니까?
질문에 대한 답변을 찾았습니까? 나는 같은 문제를 겪고있다. –