2009-04-01 5 views
5

누구나 ActiveMQ에서 메시지 그룹화 기능을 사용 했습니까? ActiveMQ 메시지 그룹화 성능

http://activemq.apache.org/message-groups.html

이 내가 일하고 있어요 프로젝트를위한 정말 유용한 기능이 될 것입니다,하지만 난 얼마나 잘이 기능 저울과 수행 궁금합니다. 우리 시스템에서는 약 3-5 개의 메시지 그룹으로 메시지를 그룹화해야하므로 프로세스가 진행됨에 따라 그룹을 계속 추가 할 것입니다. 이 경우에는 결국 모든 그룹을 저장하려고 메모리가 부족한 것 같습니다.

나는 모든 경험/생각/찬성/단점에 관심이 있습니다.

답변

7

많은 프로젝트에서 메시지 그룹을 사용했는데 효과적입니다. 전체 공개를 위해 나는 메시지 그룹을 추진하는 사람들 중 한 명이었으며 초기 구현 작업을 많이 수행했습니다.

메시지 그룹의 사용 사례는 큰 주제 계층을 파티셔닝 한 것이 었습니다. 금융 주식 기호 등을 다루는 것. 메시지 그룹이 매우 세분화 된 상관 관계 표현식 (JMSXGroupID 문자열)을 사용할 수 있기를 원했기 때문에 날짜, 주식 기호 및 제품 유형을 groupID 또는 고객 또는 비즈니스 트랜잭션 ID 등으로 사용할 수있었습니다.

모든 그룹 ID 문자열을 메모리에 유지하지 않으려면 기본 공급자가 해시 버킷을 사용하므로 개별 문자열이 아닌 해시 버킷 매핑 만 소비자에게 저장합니다. 따라서 사용하려는만큼의 그룹 ID까지 확장됩니다! 또한 예전의 메시지 그룹 ID를 '정리'할 필요가 없다는 것을 의미합니다.

+2

'JMSXGroupID'가 3345와 같다고 가정합니다. 그러면'JMSXGroupID' = 3345 인 모든 메시지는 같은 것으로 갈 것입니다 소비자. 그러나 내가 activeMq가 3345 메시지를 동일한 구형 소비자에게 보내는 것을 보장하는 것보다 새로운 소비자를 동적으로 추가한다고 가정하십시오 (id의 해시를 저장한다고 말한 것처럼). 감사. – Trying

+0

해시를 사용하여 각 GroupID 문자열을 대체하는 것이 왜 효과적인지 이해하지 못합니까? 해시 값이 매우 작습니까? 그러나 매일 100 만 개의 새로운 GroupID가 있다면 어떨까요? – flycee