2014-02-17 3 views
0

대기열을 기반으로하는 분산 시스템을 모든 표준 구성 요소에 포함합니다. 우리는 최신 버전의 RabbitMQ를 사용하여 메시징 전송 계층을 제공하고 있습니다.내 응용 프로그램에서 높은 가용성을 위해 AMQP (RabbitMQ) 사용

설명서를 읽음으로써 대답 할 수없는 고 가용성 (내 응용 프로그램과 실제로 RabbitMQ가 아님)에 관한 질문이 있습니다. 몇 가지 조언을 부탁드립니다, 그것은 문제를 일으키는 토끼/AMQP에 대한 나의 이해 부족 가능성이 높습니다 :)

문제점 : 저는 (기본이라고하는) 메시지 생성자가 있습니다. 하나 뿐인 메시지 생성자가 있습니다. 실패한 경우 기본에서 인계해야하는 보조 프로듀서 (백업이라고 함)가 있습니다.

어떻게하면 기존 RabbitMQ 기능을 사용하여이를 달성 할 수 있습니까?

생각 : 기본 연결 대상인 "배타적"대기열을 사용하십시오. 백업은이 대기열에 연결을 시도합니다. 주 서버가 실패하면 백업은 대기열에 대한 연결을 확보하고 프로세스를 제어합니다.

이것을 달성하기 위해 사용해야하는 올바른 패턴은 무엇입니까? 경쟁 제작자 등에서 어떤 문서도 찾을 수 없었습니다. 귀하의 조언에 감사드립니다! 어떻게 다른 사람들이 이것을합니까? 당신은 어떤 플러그인을 얻을 수 있습니다하지 않는 한 (RabbitMQ 메커니즘 그것을 감당할 수 있지만 나는 그러한 몰라 - 당신이 한 번에 하나의 생산을 원한다면

종류는 TM

답변

0

에 관하여 종류). 응용 프로그램 수준에서 생산자 수를 제어 할 수 있습니다.

P.S : 당신이 잘 AMQP 생각하지 않는 대기열에서 얻을 소모하면서 생산자, 교환에 메시지를 게시처럼

보인다. 브로커 (RabbitMQ)는 메시지를 교환기에서 하나 이상의 대기열로 라우팅합니다 (실제로는 can also route messages to other exchange이지만 다른 이야기입니다).

관련 문제