Обмен сообщениями Java: различие между ActiveMQ, мулом, ServiceMix и Camel

Я плохо знаком с Обменом сообщениями и хочу знать различие между ActiveMQ, Mule, ServiceMix и Camel

Кто-либо знает, как каждый из них продукт отличается?

Заранее спасибо!

Править: Также хотел бы знать, что любое хорошее место/ресурс изучает эти вещи.

52
задан рüффп 28 September 2018 в 11:25
поделиться

2 ответа

ActiveMQ - это брокер сообщений, который реализует JMS API и поддерживает количество межъязыковых клиентов и сетевых протоколов . Он позволяет вам реализовывать очереди или темы и писать слушателей или подписчиков для ответа на события очереди.

Mule и ServiceMix - это ESB с открытым исходным кодом (служебная шина предприятия). ESB имеет возможности, выходящие за рамки JMS: организация очередей является ключевой, но также важны преобразование, маршрутизация, ведение журнала, безопасность и т. Д.

Apache Camel - это реализация шаблонов из Enterprise Integration Patterns .Он может использовать JMS и другие компоненты для воплощения идей из этой книги.

JMS лежит в основе других технологий, например JDBC является основой для Hibernate, iBatis и т. Д.

JMS - это Java API, спецификация и TCK (часть Java EE). ActiveMQ - это конкретная его реализация.

Camel может использовать ActiveMQ (а Camel встроен в брокер ActiveMQ, поэтому вы можете легко выполнять маршрутизацию между JMS и другими компонентами, которые поддерживает Camel).

Camel не использует Mule или ServiceMix напрямую; хотя ServiceMix использует Camel в качестве предпочтительного механизма маршрутизации и реализации EIP. У Camel действительно есть тонна различных компонентов , хотя они используют разные технологии.

76
ответ дан 7 November 2019 в 09:08
поделиться

Сначала давайте определим

JMS как спецификацию протокола службы J ava M essaging S .
ESB - это E предприятие S служба B нас.
JBI - это J ava B практичность I интеграция.

Теперь мы можем ответить подробно:

Apache ActiveMQ - это реализация описанного выше JMS ( J ava M essaging ] S сервис).

Apache Camel - это механизм маршрутизации сообщений, реализующий шаблоны интеграции предприятия.
Он предоставляет множество предопределенных компонентов.
Один из его ключевых компонентов поддерживает службу JMS ( J ava M essaging S ).

Apache ServiceMix является реализацией вышеупомянутого ESB ( E nterprise S ervice B us)
совместим со спецификацией JBI ( J ava B usiness I интеграция).
Он также предоставляет множество инфраструктурных функций, недоступных в Camel (например, поддержка пакетов OSGI для служб).
SM активно использует Camel.

Mule - это еще одна реализация ESB ( E nterprise S service B us), но не связанная с Семейство Camel / ServiceMix.

54
ответ дан 7 November 2019 в 09:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: