Описание
Fuse Fabric представляет собой инструмент для управления, настройки и создания ESB (основанных на Apache Karaf) на удалённых серверах.
Существует 3 уровня абстракции компонентов:
- Фабрика
- Контейнер
- Профиль
Контейнер – отдельный EBS, основанный на Apache Karaf, и зарегистрированный в фабрике. Название контейнера – karaf.name соответствующего ESB. У каждого своя независимая среда исполнения (JVM).
Управление контейнерами осуществляется через привязывание профилей.
Профиль – набор свойств, которыми должен обладать контейнер, например: установленные features, набор репозиториев, настройки karaf и jvm и др. К контейнеру можно привязать неограниченное количество профилей.
Фабрика – совокупность контейнеров и профилей, позволяющая привязывать, изменять и добавлять профили, создавать новые контейнеры и т.д.
Установка
Первичная установка
Release-версию для разработки можно получить по следующей ссылке http://repo.fusesource.com/nexus/content/repositories/public/org/fusesource/fabric/fuse-fabric/
Каждый из архивов (.tar.gz и .zip) включает в себя исполняемые файлы как для windows, так и для unix-based серверов.
После установки необходимо активировать учётную запись (etc/user.properties) и изменить rmiRegistryHost на localhost (etc/org.apache.karaf.management.cfg)
Запуск осуществляется через bin/fusefabric[.bat].
После запуска необходимо инициализировать фабрику с помощью команды
fabric:create --clean. Будет создана фабрика единственным контейнером с именем, соответствующим karaf.name (etc/system.properties)Удалённая установка
Из уже существующей фабрики можно создать дополнительный контейнер на удалённом сервере через ssh:
container-create-ssh --host %hostname% --user %username% --password %password% --path %install_path% %CONTAINER_NAME%
Будет создан новый контейнер с именем %CONTAINER_NAME% на машине %hostname% под пользователем %username% по пути %install_path% (по умолчанию -- домашняя папка пользователя). При этом будет скачан Fuse Fabric той же версии, что и установленный на исходном сервере.
Подключиться установленному контейнеру можно с помощью
container-connect %CONTAINER_NAME%Установка на существующий ESB
Существующий ESB можно подключить к фабрике следующим образом:
Добавить репозитории (org.ops4j.pax.url.mvn.cfg)
http://repo.fusesource.com/nexus/content/repositories/snapshots@snapshots,http://repo.fusesource.com/nexus/content/groups/public
С помощью addurl добавить feature-list:
addurl mvn:org.fusesource.fabric/fuse-fabric/%FUSE_FABRIC_VERSION%/xml/features
Затем установить набор команд для fabric:
features:install fabric-boot-commands
После этого станет возможно подключиться к существующей фабрике командой
fabric:join %host%[:%port%] [%container_name%]
Порт по умолчанию 2821, имя контейнера по умолчанию karaf.name (если запустить с параметром %container_name%, будет создан новый контейнер, а текущий ESB перезапущен со сменой karaf.name).
Основные команды управления
Отображение установленных контейнеров, привязанных к ним профилей и текущего состояния
container-list
Отображение списка профилей
profile-list
Отображение информации о профиле
profile-display %profile_name%
Изменение свойств профиля:
profile-edit --features %feature_name% %profile-name%profile-edit --delete --features %feature_name% %profile-name%profile-edit --repositories mvn:org.apache.servicemix/apache-servicemix/4.5.0/xml/features %profile-name%profile-edit --pid org.fusesource.fabric.maven/remoteRepositories=%comma-separated_mvn_repositories% %profile-name%
Изменение привязки профилей:
container-change-profile %container% %profile_1% ... %profile_n%
Создание профиля
profile-create [-p %parents%] %name%Примеры профилей
Замечание 1: при указанном ниже способе установки профилей, конфигурационные файлы для сервисов необходимо устанавливать вручную.
Замечание 2: после привязывания запускаются все bundles, даже те, у которых указано, что они не должны запускаться по умолчанию.
Colvir-root
Корневой профиль, обеспечивающий доступ к компонентам Colvir. От него должны наследоваться остальные профили colvir.
Создание профиля:
profile-create colvir-root
Привязка репозиториев:
profile-edit --pid org.fusesource.fabric.maven/remoteRepositories=http://1.1.1.72:9443/archiva/repository/kz-hrt@snapshots,http://1.1.1.72:8080/archiva/repository/internal@internal colvir-root
Привязка feature-файлов (первый для установки компонентов Colvir, второй для camel-nmr и других, свойственных servicemx, компонентов):
profile-edit --repositories mvn:com.colvir.bus.features/kz-hrt/1.0.0-SNAPSHOT/xml/features colvir-rootprofile-edit --repositories mvn:org.apache.servicemix/apache-servicemix/4.5.0/xml/features colvir-rootCap-service
Создание профиля:
profile-create --parents colvir-root cap-serviceprofile-edit --features colvir-cap-service cap-service
Привязка к контейнеру %container% (наличие профиля fabric обязательно)
container-change-profile %container% fabric cap-service [%other_profiles%] Cr2Proxy
Создание профиля:
profile-create --parents colvir-root cr2proxyprofile-edit --features colvir-cr2proxy cr2proxy
Привязка к контейнеру %container% (наличие профиля fabric обязательно)
container-change-profile %container% fabric cr2proxy [%other_profiles%] Cr2batch
Создание профиля:
profile-create --parents colvir-root cr2batchprofile-edit --features colvir-cr2proxy cr2batch
Привязка к контейнеру %container% (наличие профиля fabric обязательно)
container-change-profile %container% fabric cr2batch [%other_profiles%]
Комментариев нет:
Отправить комментарий