다른 노드가 리더 또는 팔로워가 될 수있는 분산 시스템을 구축했습니다. 대부분의 사용 사례에서 리더와 팔로어가 하나만 있습니다. 리더는 일반적으로 서버에서 단일 서버이며, 추종자는 다른 서버 (동일한 JVM에서 일부 서버)에서 실행 중입니다.리더/팔로어 관계에 대한 최상의 JGroup 스택 구성
팔로워 노드는 서로 메시지를 보낼 필요가 없으며 리더 노드와 만 통신합니다. 현재 tcpgossip 프로토콜을 사용하여 클러스터 구성원을 검색합니다. 내 GossipRouter는 리더 노드와 동일한 JVM에서 실행됩니다. 실제로 꽤 잘 작동합니다. 클러스터가 충분히 안정적으로 보입니다.
tcpgossip 프로토콜을 이해한다면 각 노드는 GossipRouter에 도달하여 정보를 가져옵니다. 따라서 필자의 경우 모든 팔로워 노드는 리더 노드가 실행되는 서버에 연결됩니다.
경고 : 스레드 = TransferQueueBundler, MyCluster라는, ROCKET-21632 금 11월 18일 중부 유럽 표준시 10시 22분 11초 2016 그러나 나는 추종자 노드 중 하나를 끌 때, 나는 다른 추종자에서 경고 메시지를 볼 수있는 상태 노드 org.jgroups.protocols.BaseBundler sendSingleMessage JGRP000029 : ROCKET-21632 : zeus-10187 (102 바이트)로 메시지 전송 실패 : java.net.SocketTimeoutException : 연결 시간 초과, 헤더 : VERIFY_SUSPECT : [VERIFY_SUSPECT : ARE_YOU_DEAD], TP : [ CLUSTER_NAME = MyCluster라는]
WARNING : 스레드 = TransferQueueBundler, MyCluster라는, 로켓 금 십일 21,632 18 2,016 중부 유럽 표준시 10시 21분 19초 org.jgroups.protocols.TP sendToMembers JGRP000034 : ROCKET-21632 : 실패 센 로 java.net.SocketTimeoutException : 제우스-10187에 땡 메시지가
ROCKET-21632
및zeus-10187
두 제자가
시간 초과 연결합니다. 나는 추종자들이 GossipRouter가 사용 되었기 때문에 서로 이야기하지 않을 것으로 예상되었지만, 사실이 아닌 것으로 보인다.
일부 노드가 절대로 서로 이야기하지 않는 클러스터를 만드는 방법이 있습니까?
빠른 답변 감사합니다. 나는 그것에게 시도를 줄 것이고, 그것이 어떻게 가는지 당신에게 알릴 것이다. 감사! – Azeq