вторник, 22 июля 2014 г.

Fuse Fabric (RedHat)


Перейти к концу метаданных
Переход к началу метаданных

Описание

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-root
profile-edit --repositories mvn:org.apache.servicemix/apache-servicemix/4.5.0/xml/features colvir-root

Cap-service

Создание профиля:
profile-create --parents colvir-root cap-service
profile-edit --features colvir-cap-service cap-service 
Привязка к контейнеру %container% (наличие профиля fabric обязательно)
container-change-profile %container% fabric cap-service [%other_profiles%] 

Cr2Proxy

Создание профиля:
profile-create --parents colvir-root cr2proxy
profile-edit --features colvir-cr2proxy cr2proxy 
Привязка к контейнеру %container% (наличие профиля fabric обязательно)
container-change-profile %container% fabric cr2proxy [%other_profiles%] 

Cr2batch

Создание профиля:
profile-create --parents colvir-root cr2batch
profile-edit --features colvir-cr2proxy cr2batch
Привязка к контейнеру %container% (наличие профиля fabric обязательно)
container-change-profile %container% fabric cr2batch [%other_profiles%] 

Комментариев нет:

Отправить комментарий