Недавно я собрал быстрый проект 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 Кристиана Поста в блоге |