ApacheCamel + ActiveMQ для JBOSS Fuse, что является лучшим подходом?
Я имею ApacheCamel
+ ActiveMQ
и работает на работе около 8 различных маршрутов. Это началось хорошо, когда у нас было 2 маршрута. Количество маршрутов растет (в настоящее время 10), и процесс добавления нового маршрута включает обновление кода существующих маршрутов, тестирование, развертывание и т. Д. То, что я действительно хочу, это правда ESB
где пакеты / сервисы могут быть установлены, запущены, остановлены или удалены без влияния на другие пакеты / сервисы. Я провел некоторое исследование и JBOSS Fuse
кажется правильным выбором для достижения вышеизложенного. У меня есть пара вопросов, и я надеюсь, что вы, ребята, сможете мне помочь с:
- Когда начать? Есть ли хороший подобный пример или учебник, которому я могу следовать?
- Все маршруты в настоящее время под одним
Spring
проект. Должны ли они быть разделены на отдельные пакеты (используяSpring-dm
)? это одна связка на маршрут - Является ли JBOSS Fuse правильным выбором, чтобы иметь истинное
ESB
?
1 ответ
Для выбора в инфраструктуре слэш-контейнера ESB на основе OSGi с использованием Apache Camel ServiceMix является самым старым, затем появился Fuse ESB, который был переименован в Fuse Fabric.
Таким образом, поскольку у вас есть шанс начать все сначала, лучше выбрать Fuse Fabric или версию с открытым исходным кодом Fabric8.
Ознакомьтесь с документацией Fuse Fabric о том, как работают комплекты, функции и профили.
В вашем случае вы будете создавать функции на основе скомпилированных вами пакетов, вы сможете обновлять и развертывать функции независимо друг от друга, а также сможете легко контролировать уровни выпуска всех функций с помощью профили.
например
myapp-profile 1.1
firstapp-1.0
bundle1
bundle2
secondapp-1.2
bundle3
bundle4
(+configuration)
В ответ на ваши вопросы:
- Вот несколько ссылок
http://www.jboss.org/products/fuse/overview/
http://www.jboss.org/products/fuse/resources/
Если вы хотите иметь возможность самостоятельно останавливать, запускать и обновлять ваши маршруты, они должны быть в отдельных пакетах. Вы можете определенно иметь несколько маршрутов в одном пакете, если хотите, но один маршрут для каждого пакета вполне подойдет. Обратите внимание, что
Fuse Fabric
использованияblueprint
в качестве структуры DI по умолчанию (которая похожа на Spring, но не то же самое), так как она совместима с OSGi, и я не могу комментироватьSpring-dm
так как я не использовал это.Будь то
Fuse Fabric
это правильный выбор для истинногоESB
Это действительно зависит от вас, чтобы решить или оценить с помощью простого доказательства концепции. Другие вариантыfabric8
(что по сути то же самое) или решения поставщика, такие какMule
, По моему опыту Fuse Fabric превосходен, хотя это субъективное и личное мнение.