Апач Караф против Сервисмикс - PullRequest
23 голосов
/ 03 августа 2011

Кто-нибудь использует Karaf вместо Servicemix? Если так, как вы пришли к этому решению? Я знаю, что Servicemix добавляет слой функциональности вокруг Karaf, просто любопытно, используется ли Karaf самостоятельно и почему ...

Ответы [ 4 ]

27 голосов
/ 04 августа 2011

Мы используем Karaf для ряда наших приложений.Мы уже использовали Camel (JMS и Esper) для интеграции между несколькими различными платформами (экземпляром JBoss 4.2, Tomcat и несколькими экземплярами Felix), и, поскольку это работало хорошо, было также мало оснований для переноса этого (что могло привести крассмотрим ServiceMix).

Единственная причина, по которой у нас есть некоторые узлы Felix, заключается в том, что они ограничены в использовании (на клиентских компьютерах), редко нуждаются в обновлении / обновлении, и я хотел иметь наименьшую площадь для этих узлов.Для чего-либо OSGi на стороне сервера мы используем Karaf.

Karaf предоставляет все функции, которые вы ожидаете и нуждаетесь в производственной среде (см. Информацию тега apache-karaf ).Мы проводим нашу разработку и тестирование на стандартном минимальном фреймворке (используя pax-exam), но развертываем в Karaf.

Если вам не нужны ESB, JCA, BPEL и т. Д., Но вам нужен надежный, настраиваемый контейнер OSGi,тогда Караф сам по себе более чем адекватен.(И если вам нужно ограниченное подмножество функциональных возможностей ServiceMix, вы всегда можете установить их в экземпляре Karaf.)

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

Недавно появился подпроект кластеризации Karaf под названием Cellar с использованием HazelCast, я не уверен, относится ли это и к ServiceMix.

9 голосов
/ 14 сентября 2011

Жизнь Карафа началась как ядро ​​ServiceMix. В настоящее время ServiceMix представляет собой набор пакетов, которые развертываются в контейнере Karaf. ServiceMix имеет несколько очень удобных пакетов, которые делают много интересных вещей, которых нет у karaf. Тем не менее, две основные причины для использования ServiceMix, если вы хотите: 1) ESB, 2) ЯМР (функция, которая позволяет вам взаимодействовать между пучками И экземплярами Карафа).

Все это говорит о том, что группа ServiceMix в настоящее время планирует версию 5, которая удалит функции ESB и NMR и будет сосредоточена на том, чтобы быть контейнером управления для Camel. В ESB много усилий при создании компонентов, которые можно описать с помощью BPL (Business Process Language). Тем не менее, люди, которые написали ServiceMix, начали концентрироваться на реализации EIP (Enterprise Integration Patterns), которая в основном выполняет те же функции, что и BPL, но делает это более стандартизированным и общепринятым образом. Эта работа была выполнена в рамках проекта Camel.

Итак, вкратце. Если вы используете ServiceMix 4+, вы также используете Karaf. Если вам нужна более надежная среда интеграции, на сегодняшний день предпочтительной средой (по крайней мере, в мире Apache / Felix) является Karaf, Camel и несколько пакетов от Servicemix.

2 голосов
/ 29 ноября 2017

Вот небольшая сравнительная иллюстрация, которую я сделал.Переход от простейшего случая (JVM с функциями OSGi, предоставляемыми Apache Felix внизу) к более полным / управляемым функциям OSGi ( Apache Karaf в середине) к достаточному количеству функций дляреализовать полные экземпляры ESB ( Apache ServiceMix вверху) (обратите внимание, что «ESB» - это не продукт, а набор конечных точек, маршрутизаторов, баз данных, функций ETL и тому подобного, настроенных вместе в конкретной конкретной задачепуть).

From Felix to Karaf to ServiceMix

0 голосов
/ 12 июля 2015

Караф НЕ идет с CXF.

Это чистое извлеченное ядро ​​ServiceMix.Однако вы можете установить CXF на Karaf, как показано ниже.

karaf: root ()> feature: repo: add cxf

После добавления URL-адреса функции мы можем увидеть«предоставленные» функции с помощью следующей команды.

karaf: root ()> feature: repo: feature: list |grep cxf

Чтобы установить cxf, запустите следующую команду:

karaf: root ()> функция: установите cxf

...