ХорнетК
Эта статья нуждается в дополнительных цитатах для проверки . ( июнь 2012 г. ) |
Оригинальный автор(ы) | Тим Фокс |
---|---|
Разработчик(и) | Команда Fox JBoss |
Финальный выпуск | 2.4.0
/ 16 декабря 2013 г |
Написано в | Ява |
Операционная система | Кросс-платформенный |
Тип | асинхронный обмен сообщениями |
Лицензия | Лицензия Апач 2.0 |
Веб-сайт | http://hornetq.jboss.org/ |
HornetQ — это с открытым исходным кодом проект асинхронного обмена сообщениями от JBoss . Это пример промежуточного программного обеспечения, ориентированного на сообщения . HornetQ — это проект с открытым исходным кодом, предназначенный для создания многопротокольной встраиваемой высокопроизводительной кластерной асинхронной системы обмена сообщениями. На протяжении большей части своего развития база кода HornetQ разрабатывалась под названием JBoss Messaging 2.0.
История
[ редактировать ]Тим Фокс начал работу над HornetQ в 2007 году под названием JBoss Messaging 2.0. После двух лет усилий Фокс понял, что исходная кодовая база JBoss Messaging была почти полностью переписана, и было решено выпустить ее под другим именем. Фокс придумал название «HornetQ».
24 августа 2009 г. был запущен HornetQ 1.0. [ 1 ]
В сентябре 2010 года Fox опубликовала результаты набора тестов, сравнивающих производительность HornetQ с другими популярными системами обмена сообщениями. [ 2 ]
Фокс руководил проектом до октября 2010 года, когда он ушел с поста руководителя проекта, чтобы заняться другими проектами.
Пожертвование HornetQ Apache и выпуск Apache Artemis 1.0.0
[ редактировать ]В понедельник, 1 июня 2015 г., в конце 2014 г. база кода HornetQ была передана в дар сообществу Apache ActiveMQ и теперь находится в качестве подпроекта под эгидой ActiveMQ под названием Apache ActiveMQ Artemis . С момента передачи кода разработчики неустанно работали над выпуском первой версии Artemis; чтобы позволить людям осмыслить это и завершить процесс пожертвования. С выпуском Apache Artemis 1.0.0 этот процесс подошел к концу, и передача кода завершена.
Активное сообщество разработчиков перешло на Artemis; все разработчики, которые были активны в HornetQ, теперь являются участниками проекта Artemis; работа над базой кода в рамках зонтика ActiveMQ. Есть надежда, что союз двух великих сообществ HornetQ и ActiveMQ откроет путь для брокера сообщений следующего поколения с более продвинутыми функциями, лучшей производительностью и большей стабильностью. Сообщество надеется достичь этих целей, используя ядро Artemis с его превосходной производительностью в сочетании с обширным набором функций ActiveMQ.
Проект Artemis нацелен на размещение этого брокера сообщений следующего поколения, поэтому любые запросы новых функций или вклады сообщества HornetQ теперь должны быть включены в поток разработки Artemis. HornetQ будет в основном находиться в режиме только обслуживания, за исключением исправления ошибок в его активных ветках (2.3 и 2.4). HornetQ может легко перейти на Artemis 1.0.0, поскольку Artemis уже совместим с клиентами HornetQ; он поддерживает ряд других протоколов, таких как AMQP, Stomp, собственный протокол обмена сообщениями ActiveMQ «OpenWire» (в Alpha с поддержкой клиентов ActiveMQ JMS и базового транспорта), а также JMS 2. Кроме того, команда начала разработку поддержки MQTT.
Функции
[ редактировать ]Он имеет следующие важные функции:
- Поддерживает STOMP , а теперь и AMQP 1.0. [ 3 ] протоколы для межъязыковых клиентов
- 100% с JMS совместимость
- 8,2 миллиона сообщений в секунду с SpecJMS
- Высокопроизводительный журнал на базе AIO (поверх Linux)/NIO (поверх любой ОС).
- Кластеризация для масштабируемости и надежности
- Поддерживает архитектуру Master/Slave для обеспечения отказоустойчивости.
- Поддерживает группы обнаружения для кластеров динамических узлов.
- Core Bridges для подключения к другим серверам HornetQ (по ненадежным каналам WAN)
- JMS Bridges для подключения к другим JMS-совместимым серверам
- Перенаправляет трафик без изменения кода приложения.
- Пейджинг для поддержки сообщений, размер которых превышает доступную оперативную память.
- Поддержка больших сообщений для обмена файловыми сообщениями
- Поддержка транзакций XA и JTA
- Интеграция сервера приложений с использованием стандарта JCA (также позволяет использовать MDB)
- Высокопроизводительный соединитель Netty NIO в режимах TCP, SSL и сервлетов (для обмена сообщениями между межсетевыми экранами)
- Управление на основе JMX
- Очереди последних значений (для протоколов, которые их поддерживают)
- Поддержка фильтров и подстановочных знаков
- Функции безопасности, интегрированные с JAAS
- Простая конфигурация XML