2014-01-16 4 views
1

ActiveMQ와 관련하여 두 가지 질문이 있습니다.ActiveMQ의 여러 중개인 및 장애 조치

  1. 제 환경에서는 3 대의 서버에 3 개의 ActiveMQ를 설정하고 하나의 데이터베이스를 공유합니다. 3 개의 서버에서 3 개의 ActiveMQ를 실행하여 동일한 데이터베이스를 공유 할 수 있습니까? 나는 그것을 세우려고했다. 그러나 3 명의 브로커가 동일한 데이터베이스를 공유 할 수없는 것처럼 보입니다. 맞습니까?
  2. 또한 일부 Failover 테스트를 수행했는데 ActiveMQ가 메시지 순서를 보장 할 수없는 것처럼 보입니다. 예 : ServerA, ServerB 및 ServerC에 3 개의 ActiveMQ를 설정했습니다. 그런 다음 MessageA, MessageB를 ServerA에 게시하고 MessageC를 ServerB에 게시했습니다. ServerA ServerB 및 ServerC가 장애 조치 서버로 설정되었습니다. ServerA를 종료하면 유일한 MessageC를 사용할 수 있습니다. 그러나 소비 된 메시지 순서는 MessageA, MessageB 및 MessageC 여야합니다. ServerA가 다운 된 경우에도이 메시지를 유지해야합니다. 장애 조치 (failover)를위한 메시지 순서를 보장하도록 ActiveMQ를 구성 할 수 있습니까?

고맙습니다!

답변

0
  1. 모두 3을 동일한 DB에 설정할 수 있습니다. 그들은 주인 - 노예 장애 극복처럼 행동 할 것입니다. 하나의 인스턴스 만 실행되고 다른 두 인스턴스는 DB에서 인계 할 잠금을 기다리고 있습니다.

  2. 는 # 1를 경우이 순서를 보장합니다,하지만 당신은 한 번에 하나 개의 서버를 사용하여 (그리고 중앙 DB 스토리지와 같은)됩니다