2017-12-10 16 views
1

여기에 clustered-durable-subscription이고 여기에 clustered-static-discovery입니다. 하나의 서버 (클러스터 구성을 사용하여 다른 서버와 자동으로 연결됨)로 연결되는 클러스터 된 정적 검색에서. 문서 당으로 는Apache Artemis : 정적 클러스터에 대한 영구 가입을 만들 수있는 방법

일반적으로 영구 가입은 단일 노드에 존재하고 ActiveMQ를 아르테미스 으로, 그러나, 한 번에 하나의 가입자가있는 경우에만 수 있습니다 동일한 이름과 클라이언트와 내구성 구독 인스턴스를 생성하는 것이 가능 클러스터의 다른 노드에서 -id를 사용하고 동시에 에서 소모하십시오. 이 영구 가입에서 메시지 처리의 일이 JMS 대기열이

내가 정적 클러스터에 대한 추가 설정을 추가해야할까요 클러스터에서로드 밸런싱 할 수있는 방법과 유사한 방법으로 클러스터에 분산 될 수 있습니다 , 또는 영구 가입 서브 클래스의 모든 노드에 대한 클라이언트 ID와 구독을 설정하지 않고 정적 클러스터와 잘 작동합니다 (정적 클러스터에서 언급 한 것처럼 하나의 노드에만 연결합니다)

답변

1

"정적"부분은 " clustered-static-discovery "는 실제로 클러스터 노드 발견 (이름에서 알 수 있듯이)만을 나타냅니다. 클러스터 노드가 발견되고 클러스터가 형성되면 클러스터는 발견이 동적 인 것처럼 행동합니다 (예 : UDP 멀티 캐스트 사용). 즉 클러스터 된 영구 가입은 클러스터 노드 검색을 위해 서버 측에서 어떤 메커니즘이 사용되던간에 똑같이 작동해야합니다.

+0

저스틴 모든 4 개의 연결에 대해 동일한 클라이언트 ID를 설정 한 경우 정적 클러스터 된 정적 검색에서 예외가 발생합니다. '''javax.jms.InvalidClientIDException : clientID = my-client-id가 이미 다른 클라이언트로 설정되었습니다. connection''' 모든 연결에 대해 어떻게 코마 논드를 공유 할 수 있습니까? – Baba

+0

https://github.com/jbertram/activemq-artemis/tree/clustered-durable-subscription-static-discovery/examples/features/clustered/clustered-static-discovery를 확인하십시오. 영구 가입을 사용하도록 클러스터 된 정적 검색 예제를 수정했습니다. 실행하면 작동하는 것을 볼 수 있습니다. 연결할 때 동일한 클라이언트 ID와 구독 이름을 설정하는 경우 구독자가 연결되어 있지 않은 노드에 연결해야합니다. –

+0

감사합니다 저스틴 Bertram – Baba