2014-10-14 3 views
0

클러스터 된 HA rabbitmq 설정이 있습니다.rabbitmq 클러스터의 어떤 노드가 HA인지 어떻게 알 수 있습니까?

rabbitmqctl set_policy ha-two "^two\." \'{"ha-mode":"exactly","ha-params":10,"ha-sync-mode":"automatic"}' 

나는 30 개의 머신이 실행 중이고 그 중 10 개는 대기열이 복제 된 HA 노드입니다. 브로커가 다운 (무작위로 첫 번째 HA 노드로 지정됨)되면 샐러리 작업자가 새 HA 노드 (9 개의 왼쪽 중 하나)를 가리 키도록합니다. 나는 이것을 자동화하는 스크립트를 가지고있다. 문제는 다음과 같습니다. 정규 클러스터 노드와 HA 노드를 구별하는 방법을 모르겠습니다.

rabbitmqctl cluster_status 

"실행 노드", "디스크"및 "램"범주는 얻을 수 있습니다. 하지만 노드가 HA인지 알 수있는 방법은 없습니다.

아이디어가 있으십니까?

답변

0

클러스터에서는 모든 노드가 모든 노드를 다른 노드와 공유하므로 모든 엔티티에 액세스하기 위해 응용 프로그램에서 노드를 구별하지 않아도됩니다.

HA 노드 중 하나가 다운 될 때 (번호가 9에 도달하는 경우) HA 대기열은 첫 번째 사용 가능한 노드로 복제됩니다 (디스크 또는 램과 관련 없음).

+0

예하지만 클러스터의 HA가 아닌 노드에는 복제 된 대기열이 없습니다. 그렇다고해도 비 HA 노드가 중개인의 역할을 할 수 있다고 말하고 있습니까? – jeffrey

+0

비 HA 클러스터 노드에 실제로 큐의 복사본이 없기 때문에 샐러리 작업자가 대기열에 액세스 할 수 없다고 생각하지 않습니다. – jeffrey

+0

"HA 노드"에서의 의미는 무엇입니까? HA가 대기열에 설정된 경우, 대기열은 정확하게 10 개의 노드에 복제되어야합니다. 따라서 대기열이있는 10 개의 노드를 모두 동시에 사용하지 않으면 문제가 발생합니다. – pinepain

관련 문제