Подтвердить что ты не робот

Apache Karaf против Servicemix

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

4b9b3361

Ответ 1

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

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

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

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

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

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

Ответ 2

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

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

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

Ответ 3

Karaf делает НЕ поставляется с CXF.

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

Функция karaf: root() > : repo: add cxf

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

Функция karaf: root() > : репо: функция: список | grep cxf

Чтобы установить cxf fire, выполните команду ниже

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

Ответ 4

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

От Felix до Karaf to ServiceMix