Статьи

HTTP-шлюз Fabric8

Недавно я собрал быстрый проект Github, чтобы показать HTTP-шлюз Fabric8 в действии. Он показывает пример проекта, который вы можете использовать для тестирования шлюза HTTP. Пример профиля / camel / cxf, который поставляется с Fabric8 , теперь делает то же самое.

Fabric8 Gateway

Проект Fabric8 — произносится как фабрика — представляет собой практическую среду DevOps для служб, работающих на JVM. Такие вещи, как автоматическое развертывание и централизованное управление конфигурацией, исходят из коробки и согласуются независимо от того, какой контейнер JVM (или нет контейнера — микросервисы) вы используете.

Еще одна полезная функция, которую Fabric8 предоставляет вам из коробки, — это возможность динамического поиска, балансировки нагрузки и управления версиями ваших сервисов (MQ, REST / http SOAP / http и т. Д.). Клиенты, которые живут в «ткани», созданной «тканью8», могут автоматически воспользоваться этим. Ваши внешние клиенты тоже могут с функцией Fabric8 Gateway . В сочетании с маршрутами Apache Camel, которые предоставляют CXF, вы можете получить очень мощное обнаружение служб с помощью Fabric8.

Пример проекта поставляется с тремя простыми реализациями и развертываниями REST, которые вы можете использовать для тестирования и тестирования Gateway для себя.

Как

Сначала начните с захвата Fabric8 или его нисходящего потока, поддерживаемого Red Hat, двоюродным братом: JBoss Fuse .

Начни это:

1
fabric8-home$  ./bin/fabric8

Или на JBoss Fuse:

1
fuse-home$  ./bin/fuse

Далее вам нужно будет построить этот проект:

1
project-home$  mvn clean install

И перейдите к одному из подпроектов в примере дистрибутива (пример: beer-service)

Теперь вам нужно вызвать плагин fabric8-maven-plugin для установки профиля в Fabric8 / JBoss Fuse. См. Fabric8-maven-plugin для более подробной информации о том, что он делает и как его настроить:

1
beer-service$  mvn fabric8:deploy

Теперь перейдите к веб-консоли (http: // localhost: 8181) и перейдите на вкладку Wiki . Вы должны увидеть свой профиль там под группой loadbalancer :

пиво-сервис-вика

Эти профили являются декларативным описанием того, какие ресурсы необходимо развернуть в контейнере JVM. Вы можете прочитать больше о Fabric8 Profiles, чтобы получить более полное понимание. В этом случае мы развертываем некоторые маршруты Camel и описываем его зависимости от некоторых функций, которые обеспечивают автоматическую регистрацию конечных точек CXF в реестре API.

Теперь создайте новый контейнер с этим профилем.

Этот новый контейнер будет содержать ваши маршруты Camel, которые реализуют эту функциональность службы REST.

создание новой конструкции-пиво

У вас должен быть новый контейнер для пива:

Контейнер-список-пиво

Теперь добавьте новый контейнер и присвойте ему профиль шлюза http :

создать новый шлюз

Теперь у вас есть пивной контейнер и контейнер http-шлюза:

список-шлюз-пиво

Теперь вы можете пропинговать пивной сервис через шлюз по адресу: http: // localhost: 9000 / cxf / beer:

Окончательный-выход-пиво

Если у вас есть какие-либо вопросы по этому поводу, что снимки экрана не делаются, пожалуйста, дайте мне знать в комментариях.
HTTP-шлюз является очень мощной функцией Fabric8 . Для JBoss Fuse эта функция находится в техническом обзоре.

Ссылка: HTTP-шлюз Fabric8 от нашего партнера JCG Кристиана Поста в блоге