Какая встроенная система обмена сообщениями -> ActiveMQ или HornetQ - PullRequest
33 голосов
/ 30 декабря 2010

Я был бы признателен за некоторые общие советы и мнения относительно того, какая из двух систем обмена сообщениями

  • проще в управлении
  • имеет меньше уловок или магических вещей, которые нужно знать и избегать
  • имеет меньше общих зависимостей
  • прост в работе.

Ответы [ 4 ]

47 голосов
/ 07 июня 2011

Во-первых, я предвзят.Я основатель проекта HornetQ, хотя я больше не работаю над ним.

Почему HornetQ поверх ActiveMQ?Вот несколько веских причин:

  1. HornetQ значительно быстрее, чем ActiveMQ.http://community.jboss.org/wiki/HornetQPerformance

    Фактически, HornetQ является самой быстрой корпоративной системой обмена сообщениями на рынке.Или, по крайней мере, так было, когда мы тестировали его на рынке в прошлом году.(Мы проверили его на 11 лучших реализациях JMS)

  2. Особенности.HornetQ имеет полный набор корпоративных функций, которые вы ожидаете увидеть.Список возможностей здесь http://community.jboss.org/wiki/HornetQFeatures

    Вы обнаружите, что HornetQ имеет эквиваленты для большинства функций, которые вы найдете в ActiveMQ, и других, которых вы не найдете в ActiveMQ

  3. Кластеризация недавно была пересмотрена, поэтому она очень прочная.Если у вас есть какие-либо проблемы с кластеризацией, пожалуйста, используйте форумы.Команда HornetQ будет рада ответить на любые обнаруженные проблемы.

  4. Используется в производстве многими известными именами, в том числе крупными финансовыми организациями и другими, такими как last.fm

  5. Достаточно надежный, чтобы быть основным средством обмена сообщениямитехнология в JBoss AS 7. Последняя версия любимого в мире сервера приложений Java.

  6. Архитектура, независимая от протокола.HornetQ, в отличие от ActiveMQ, не был построен на JMS.В HornetQ главный сервер не зависит от протокола / API - это общий сервер обмена сообщениями.Различные протоколы / API, такие как STOMP / JMS / REST / Websockets и т. Д., Добавляются в качестве тонких адаптеров в общее ядро.Это делает его намного более гибким.

34 голосов
/ 06 июня 2011

проще в управлении

hornetQ имеет понятный API-интерфейс для управления и очень прост в использовании.

имеет меньше проблем или волшебных вещей, необходимыхзнать и избегать

hornetQ был сделан для встроенного корпуса.Это очень легко интегрировать в ваш код.На самом деле вы можете сделать это менее чем с 10 строками кода.

имеет меньше общих зависимостей

Все в HornetQ является модульным.Единственная необходимая зависимость от HornetQ - это Netty, который является сетевым провайдером.

прост в работе.

HornetQ очень прост в использовании.Чистый API, и, в основном, документация очень, очень полная.

Вам не нужно покупать книги, чтобы использовать HornetQ.Все документы прямо на сайте шершня бесплатно.

8 голосов
/ 14 января 2011

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

Я также пристально следил за HornetQ и однажды могу добавить поддержку этого.Из того, что я вижу, HornetQ немного легче по весу и имеет несколько действительно хороших оптимизаций NIO, которые должны заставить его летать.Но не хватает некоторых функций интеграции предприятия, предлагаемых ActiveMQ, и, возможно, некоторых функций администратора.Однако из того, что я вижу, команда HornetQ усердно работает, чтобы заполнить пробелы.

Я не думаю, что вы могли бы ошибиться с любым выбором, по моему мнению.Попробуйте их обоих и посмотрите, что лучше.

3 голосов
/ 02 февраля 2011

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

...