Производительность группировки сообщений ActiveMQ - PullRequest
5 голосов
/ 01 апреля 2009

Кто-нибудь использовал функцию группировки сообщений в ActiveMQ?

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

Это была бы действительно полезная функция для проекта, над которым я работаю, но мне интересно, насколько хорошо эта функция масштабируется и работает. В нашей системе нам нужно было бы сгруппировать сообщения в группы по 3-5 сообщений, поэтому мы будем постоянно добавлять группы по мере выполнения процесса. В этом случае кажется, что в итоге нам просто не хватило памяти, пытаясь сохранить все группы.

Меня интересует любой опыт / мысли / плюсы / минусы.

1 Ответ

7 голосов
/ 01 апреля 2009

Я использовал группы сообщений во многих проектах, и это прекрасно работает. Хотя для полного раскрытия я был одним из тех, кто настаивал на создании групп сообщений, и проделал большую часть первоначальной работы по реализации.

Вариант использования групп сообщений был основан на разбиении больших иерархий тем; например, работа с финансовыми символами акций и тому подобное. Мы хотели, чтобы группы сообщений могли использовать очень мелкозернистые выражения корреляции (строки JMSXGroupID) - чтобы вы могли использовать дату, символ акций и тип продукта в качестве groupID - или идентификатор клиента или бизнес-операции или любой другой.

Чтобы избежать необходимости хранить каждую строку идентификатора группы в памяти, поставщик по умолчанию использует хеш-сегменты - поэтому мы храним только отображения хеш-сегментов для потребителей, а не отдельные строки. Таким образом, он масштабируется на столько групповых идентификаторов, сколько вы хотите использовать! Это также означает, что нам не нужно «очищать» старые идентификаторы группы сообщений и т. Д.

...