나는 사육사의 주인 - 노예 모델을 배우고있다. 질문이 있습니다 :마스터와 슬레이브가 통신 할 수없는 경우 어떻게됩니까?
하나의 마스터와 하나의 슬레이브가 서로 통신 할 수 없다면 어떻게 될까요? 마스터처럼 슬레이브로부터 ACK를 얻을 수 없습니까? 슬레이브 자체를 재부팅할까요?
나는 사육사의 주인 - 노예 모델을 배우고있다. 질문이 있습니다 :마스터와 슬레이브가 통신 할 수없는 경우 어떻게됩니까?
하나의 마스터와 하나의 슬레이브가 서로 통신 할 수 없다면 어떻게 될까요? 마스터처럼 슬레이브로부터 ACK를 얻을 수 없습니까? 슬레이브 자체를 재부팅할까요?
이는 쿼럼이 분할되는 방법에 따라 다릅니다. 사육사가 사육사 서버의 정족수로 운영된다는 것을 알 수 있습니다. 두 대의 서버가 서로 통신 할 수 없다면 네트워크 파티셔닝 문제가 있음을 의미합니다 (한 세트의 서버는 네트워크의 다른 부분에있는 다른 서버에 연결할 수 없습니다). 우리가 쿼럼에서 홀수 개의 서버를 사용하기 때문에 서버가 대다수이고 소수가 하나 인 파티션이 두 개 있습니다.
지도자가 대부분 파티션에있는 경우,
정원 회는 지도자로 계속 작동 쿼럼의 대부분을 가지고있다. 소수 파티션에서는 서버가 종료되고 리더 선거 단계로 이동합니다. 다음 텍스트는 Apache Zookeeper의 user mail list
에있는 메일 스레드에서 인용됩니다.
파티션이 완료되면 소수 민족 영역의 모든 서버가 종료되고 리더 선거 단계로 이동합니다. 이 서버에 연결된 모든 클라이언트 세션 은 연결이 끊어지며 "KeeperState.Disconnected"이벤트가 등록되어 있으면 해당 감시자에게 전달됩니다.
그러나 ZooKeeper는 읽기 전용 서버 모드를 지원합니다. 이 모드에서는 서버가 이 쿼럼에서 분할 된 경우에도 클라이언트가 을 읽기 전용 서버에 연결할 수 있습니다.
리더는 소수 파티션에있는 경우
,는 또, 리더 선거는 지도자를 선출 할 수 없습니다 두 파티션 및 소수 파티션에서 발생합니다. 따라서 종료됩니다. 다수당은 새로운 지도자를 선출하고 운영을 계속할 것입니다.
귀하의 질문에, master cannot connect to slave
은 네트워크 파티셔닝의 한 예입니다. 마스터 (리더)가 소수 파티션에 있거나 슬레이브가 소수 파티션에 있습니다.
희망 사항 :-)