Статьи

Краткий обзор того, что будет в JBoss Fuse 6.1

Я действительно взволнован предстоящим выпуском Fuse 6.1, так как есть масса удивительных новых функций, которые я действительно хотел в течение некоторого времени, а некоторые действительно
инструмент для боя

Итак, краткий обзор, сосредоточенный в основном на новой версии Fuse Management Console (которая теперь реализована в проекте с открытым исходным кодом hawtio ).

A-MQ

Сначала позвольте мне показать вам представление топологии A-MQ, которое позволяет вам просматривать и создавать топологии брокеров Apache ActiveMQ в вашей структуре.

брокерско-topoloigy-4

Зеленый фон используется для отображения главного брокера (см. Верхнюю строку, зеленый мастер слева, контейнер с серым фоном справа — подчиненный). Если вы сомневаетесь, наведите курсор на контейнеры, и всплывающая подсказка подскажет вам, что происходит, или щелкните по ним, чтобы погрузиться в подробные виды.

Для контейнеров, которые неактивны, зеленый значок воспроизведения становится оранжевым значком остановки (или вы видите значки обеспечения как запуск, загрузка, предоставление и т. Д. Контейнеров). Это представление в режиме реального времени, поэтому вы можете наблюдать за запуском контейнеров (что может занять некоторое время, если вы используете небольшие механизмы в OpenShift;).

Если вы щелкнете по значку подключения внутри каждой коробки контейнера, вы попадете прямо внутрь этого брокера; так что вы можете просмотреть места назначения и увидеть все подробные показатели и т. д.

Кстати, цифры в зеленых значках рядом с именами профилей показывают количество запущенных контейнеров по сравнению с требуемым целевым числом (как показано на новом экране профиля — см. Пример ниже — столбцы Целевые (требования) и Кол-во (фактические)). Опять же подсказка дает подробное объяснение, если вы не уверены

Профили-2

например, если вы создаете новую конфигурацию брокера для реплицируемого брокера; по умолчанию создается требование к 3 контейнерам для этого профиля (конфигурация брокера); затем вы получите красный значок, пока не будет запущено достаточное количество контейнеров — и, нажав на красный значок, вы попадете на страницу создания контейнеров.

В OpenShift у нас есть автоматическое масштабирование, поэтому, когда вы добавляете новую конфигурацию брокера, контейнеры сразу же раскручиваются после сохранения конфигурации, и вы можете наблюдать их визуальное ускорение (круто, ах!).

Чтобы настроить свою собственную топологию брокера, нажмите кнопку + Broker, чтобы добавить новые конфигурации брокера (Автономный, Главный / Подчиненный, N + 1 или Реплицированный) и определить группы брокеров.

При использовании Fabric вы можете распределять брокеров по группам (или «регионам»). Группа — это просто имя (или путь «мы / восток», если люди предпочитают); это просто строка, которая используется для поиска нужного фрагмента ZooKeeper, чтобы найти брокеров для подключения. Так что это может быть дерево; хотя обычно требования людей достаточно просты, чтобы иметь один глобальный регион; или, скажем, 3 для разных географических местоположений.

У нас может быть несколько брокеров в разных группах, скажем, клиенты us-east, us-west, emea и службы обмена сообщениями могут просто использовать правильное имя группы для подключения к нужной группе брокеров. Мы также используем группы для определения сетей хранения / пересылки между группами. например, брокерам с США на восток, возможно, придется также хранить / пересылать с брокерами с США на запад; им, как правило, все равно, к какому брокеру они подключаются — но им просто нужно подключиться к брокеру в нужной группе.

Затем мы можем создать профили Fabric для клиентов, которые зависят от местоположения. например, если у вас есть «сырное» приложение (какой-то веб-сервис или веб-приложение или еще что-то), которое необходимо подключить к A-MQ; у нас может быть профиль сыр-с-восток; единственное, что делает профиль, это то, что он наследуется от «cheese» и просто указывает имя группы A-MQ «us-east» для подключения.

В долгосрочной перспективе мы надеемся привести группы брокеров в соответствие с DNS / приложениями OpenShift; так что люди, не использующие Fabric вообще, могут просто сопоставить регионы с именами DNS; например, «broker-us-east-foo.rhcloud.com» будет именем хоста для подключения к брокеру A-MQ, и под прикрытием он делает взлом DNS / haproxy, чтобы соединить вас с нужным брокером — не требуя никакой магии на стороне клиента (кроме знания правильного имени DNS / хоста для правильной группы).

Сводки

Также в 6.1 появилось новое средство управления профилем; таким образом, вы можете создавать собственные панели мониторинга для любого профиля, основанного на службах, работающих в этом конкретном профиле (то есть определенной группе контейнеров); затем в любом контейнере, к которому вы подключаетесь через консоль управления предохранителями, вы можете легко и быстро просмотреть нужные элементы для такого профиля.

Например, вот панель по умолчанию в реальном времени:

Добро пожаловать-панель-2

Вы можете изменять размеры, перемещать и добавлять / редактировать / удалять виды обычным способом. Практически любой пользовательский интерфейс в консоли управления плавкими предохранителями (который включает в себя все плагины hawtio ) можно использовать в качестве прямоугольника на приборной панели; так что вы можете добавить метки верблюжьего маршрута, поиск файлов журнала или что-то еще).

Затем инструментальные панели версионируются и сохраняются со всей остальной конфигурацией. Что подводит меня к стороне конфигурации …

Конфигурация получает хитрость

Fuse Fabric разработан для того, чтобы действительно легко управлять большими кластерами контейнеров; так что вы можете сгруппировать контейнеры в
профили . Затем вы можете настроить профиль и выбрать точные артефакты развертывания один раз, и все контейнеры будут обновлены немедленно. Вы можете использовать наследование профиля, чтобы по-разному настраивать группы контейнеров; например, использовать региональные изменения для некоторых значений конфигурации; увеличить настройки использования ОЗУ / кэша / диска на больших коробках и т. д.

Наконец, вы можете создавать версии ваших профилей; так что вместо того, чтобы изменения в профиле становились немедленными во всех контейнерах; вы можете создать новую версию; отредактируйте профили — затем выполните непрерывное обновление ; выберите контейнеры для обновления, попробуйте их некоторое время, если все выглядит хорошо, откатите больше контейнеров до новой версии — или откат, если дела пойдут плохо.

В Fuse 6.1 у нас есть поддержка работы с конфигурацией с использованием системы управления исходным кодом git и связанных с ней инструментов. Это означает, что все изменения в конфигурации, единицах развертывания, информационных панелях, вики, верблюжьих маршрутах и ​​топологиях брокеров имеют хороший журнал аудита того, кто что изменил и когда; легко использовать все доступные инструменты git, чтобы делать различия и отменять изменения, объединять ветки / репозитории и т. д.

Это означает, что конфигурация может хорошо работать с системами непрерывной интеграции и непрерывного развертывания (например, с использованием gerrit и jenkins ). например, определить все ваши профили и конфигурации в разработке; затем с помощью Continuous Integration и Continuous Deployment строит и проверяет системы кода, такие как gerrit, объединяет изменения из разработки -> тест интеграции -> тест на выдержку -> производство и т. д.

Использование git с Fuse 6.1

Если вы просматриваете страницу любого контейнера, как показано ниже, и нажимаете на вкладку URL-адреса :

контейнер

это показывает git url; так что просто сделайте мерзкий клон этого; затем проверьте ветку для версии, с которой вы хотите работать. (В 6.1 из Fuse версия отображается на имя ветки в git).

1
2
3
4
git clone http://localhost:8181/git/fabric
cd fabric
git checkout -t origin/1.0
ls -al fabric/profiles

Затем вы можете взломать данные профиля с помощью любого редактора, который вам нравится (это просто папки с файлами конфигурации), затем зафиксировать и нажать git push, чтобы изменения вступили в силу! Или сделайте свои собственные ветви и так далее.

Что действительно круто, так это то, что вики (где вы можете документировать все свои приложения и профили) созданы в том же репозитории git, что и ваши панели мониторинга и конфигурация. Поэтому, если вы добавляете новую версию сервиса в новую версию профиля; панель инструментов может быть обновлена ​​для отображения новых метрик; тогда, какую бы версию вы ни запустили, вы увидите правильную вики, документацию и панель инструментов для точной версии!

Верблюжий редактор и отладчик включены

Последний, но тем не менее важный; 6.1 включает веб-редактирование, просмотр (с метриками в реальном времени и отладкой верблюжьих маршрутов. Верблюжьи маршруты могут быть версионированы в профилях; таким образом, вы можете выполнять последовательные обновления верблюжьих маршрутов со всеми изменениями, которые проверяются и просматриваются в репозитории git.

верблюд-2

Резюме

Нет блогов в течение нескольких месяцев, а затем я пишу огромный пост, извините! Если вышеупомянутое было слишком длинным, просто подумайте, Fuse 6.1 имеет потрясающую улучшенную веб-консоль (на основе проекта с открытым исходным кодом hawtio ) и позволяет вам работать со всей конфигурацией в git, чтобы все изменения проверялись, и вы могли легко объединить Fuse 6.1 с любым Инструменты git, Continuous Integration или Continuous Deployment для всех ваших данных обеспечения и конфигурации. Там намного больше 6.1; Мне придется чаще пробовать блог!