Какая встроенная система обмена сообщениями - > ActiveMQ или HornetQ
Я был бы признателен за некоторые общие указатели и мнения относительно того, какая из двух систем обмена сообщениями
- легче управлять
- имеет меньше gotchas или волшебных вещей, которые нужно знать и избегать
- имеет меньше зависимостей overal
- просто работать.
4 ответов
легче управлять
hornetQ имеет четкий API для управления, и он очень прост в использовании.
имеет меньше gotchas или волшебных вещей, которые нужно знать и избегать
hornetQ был сделан для встроенных. Это очень легко интегрировать в свой код. По сути, вы можете сделать это с менее чем 10 строк кода.
меньше общих зависимостей
все на HornetQ модульная. Единственная необходимая зависимость от HornetQ-Netty, которая является сетевым провайдером.
прост в работе.
HornetQ очень прост в использовании. Clear API, и в основном, документация очень, очень полная.
вам не нужно покупать книги, чтобы использовать HornetQ. Все документы находятся прямо там бесплатно на веб-сайте hornetq.
во-первых, я пристрастен. Я основатель проекта HornetQ, хотя больше над ним не работаю.
Почему HornetQ над ActiveMQ? Вот несколько веских причин:--1-->
-
HornetQ значительно быстрее, чем ActiveMQ. http://community.jboss.org/wiki/HornetQPerformance
на самом деле, HornetQ является #1 Самая быстрая система обмена сообщениями предприятия на рынке. Или, по крайней мере, было, когда мы тестировали его на рынке в прошлом году. (Мы протестировал его против топ-11 или около того реализаций JMS)
-
функции. HornetQ имеет полный набор функций "enterprise", который вы ожидаете увидеть. Список функций здесь http://community.jboss.org/wiki/HornetQFeatures
вы найдете hornetq имеет эквиваленты большинства функций, которые вы найдете в ActiveMQ, и другие, которые вы не найдете в ActiveMQ
кластеризация недавно была отремонтирована, так что это рок твердый. Если у вас есть какие-либо проблемы с кластеризацией, пожалуйста, используйте форумы. Команда HornetQ будет рада ответить на любые воспринимаемые вопросы.
используется в производстве многими громкими именами, включая крупные финансовые организации и другие, такие как last.fm
достаточно надежный, чтобы быть основной технологией обмена сообщениями в JBoss AS 7. Последняя версия The worlds favourite Java application server.
протокол агностическая архитектура. HornetQ, в отличие от ActiveMQ, не был построен вокруг JMS. В HornetQ основным сервером является протокол / API agnostic-это общий сервер обмена сообщениями. Различные протоколы / API, такие как STOMP/JMS/REST/Websockets и т. д., добавляются в качестве тонких адаптеров к общему ядру. Это делает его гораздо более гибким.
Я использую ActiveMq довольно сильно в моей дневной работе, и оценить его очень высоко для большинства пунктов, которые вы подняли. Я особенно полагаюсь на консоль администратора JMX, это высший класс.
Я также внимательно следил за HornetQ, и может однажды добавить поддержку для этого тоже. Из того, что я вижу, HornetQ немного легче и имеет некоторые действительно хорошие оптимизации NIO, которые должны заставить его летать. Но не хватает некоторых функций интеграции предприятия, предлагаемых ActiveMQ, и, возможно, некоторые из функций администратора. Однако из того, что я вижу, команда HornetQ упорно работает, чтобы заполнить пробелы.
Я не думаю, что вы могли бы сделать неправильно с любым выбором, на мой взгляд. Попробуйте оба и посмотрите, что лучше.
Я сделал обширную оценку обоих, прежде чем принять решение о ActiveMQ. Это доказано и стабильно, то, что вы хотите в системе обмена сообщениями. Я использовал ActiveMQ на двух крупномасштабных системах с большим успехом. Некоторое время назад вокруг HornetQ была шумиха, когда они утверждали, что быстрее ActiveMQ, поэтому я посмотрел. HornetQ имеет некоторые серьезные недостатки с его кластеризацией, которые могут привести к потере сообщений и серверам, пытающимся бесконечно подключиться к неудачному узлу. Лидерство разработчик на HornetQ отказывается признавать недостатки в HornetQ и становится довольно оборонительным на форумах пользователей, что должно заставить вас очень опасаться продукта.