2017-01-12 1 views
0

우리의 응용 프로그램은 현재 초당 약 1500 건의 트랜잭션을 처리하고 있습니다. 우리는 대기열로 토끼를 가지고 있지만, 토끼의 실제 메시지 인 트랜잭션 ID 만 저장합니다. 크기는 1-5MB입니다. Redis에 저장 (메모리 DB에 있음). 제 질문은, 우리는 레디 스를 모두 제거 할 수 있고 토끼 만 사용하면 지속될 수 있다는 것입니다.RabbitMq 제한, 클러스터링

우리는 이미 마스터 마스터 복제를 성공적으로 테스트 했으므로 부하가 상당히 빠르게 증가 할 것으로 예상하므로 수평 적으로 토끼 인스턴스의 수를 늘릴 수 있습니다.

+0

도움이 :) 당신은 최고의 솔루션을 지금 생각, 그것은 데이터베이스 아니다. – cantSleepNow

답변

3

일반적으로 이것은 나에게 좋은 생각이 아닙니다. 토끼는 데이터베이스가 아닌 메시징 시스템입니다.

메시지는 토끼 어딘가에 저장해야합니다. 일부 토끼 인스턴스가 내려 오면 메시지가 흘러 나옵니다. 지속성을 사용하면 상황이 더욱 악화됩니다.

클러스터 된 토끼는 각 메시지를 동기화해야하므로 복제 된 노드가있는 토끼 노드를 다시 시작하는 데 시간이 오래 걸립니다.

는 사실, 내가

희망이 당신은 RabbitMQ에 아무것도 저장하지 않아야

+1

1MB 메시지가 RabbitMQ를 통해 이동하는 속도가 매우 느리고 5MB로 나가면 속도가 훨씬 느려진다는 점도 추가했습니다. 당신의 메시지를 작게 유지하십시오. 그래서 그들은 매우 빨리 길을 잃고 소비 될 수 있습니다. 현재 설정이 올바른 설정처럼 들립니다. –