Шаблон (архетип) кластерного приложения (инкубатор)

В этой теме рассматривается создание кластерного приложения из шаблона версии avalanche-cluster-archetype 2.x для спецификации сервлетов 5.0 (jakarta.servlet) и выше и JVM 11 и выше.

При требованиях к разрабатываемому приложению JVM 1.8 и спецификации сервлетов до 4.0 включительно (javax.servlet) следует выбрать версию avalanche-cluster-archetype 1.x.

В результате генерации кластерного приложения из шаблона получается работоспособное кластерное приложение, которое может быть запустить на множестве узлов. Создается простой интерфейс отображения состояния кластера и REST API управления ресурсами кластера.

Создать кластерное приложение из шаблона (архетипа)

Вызовете меню Eclipse IDE File -> New - Project..., раскройте ветку Maven, выбрать Maven Project и нажать в этом и следующем окне кнопки Next.

Maven проект

Выбор архетипа

Полный список архетипов очень большой и потребуется некоторое время на его загрузку. Для уменьшения списка архетипов можно раскрыть список репозиториев в поле Catalog и выбрать ранее введенный каталог Архетипы Avalanche или ввести слово avalanche в поле Filter.

После отображения списка архетипов Avalanche выбрать архетип avalanche-cluster-archetype 2.0.1 и нажать кнопку Next.

Выбор архетипа

Определение параметров проекта

В следующем окне необходимо ввести параметры проекта. Задать идентификатор группы в поле Group Id, идентификатор артефакта в поле Artefact Id, версию проекта или оставить значение по умолчанию в поле Version.

Обязательно снять галку в поле run archetype generation interactive. Если эту галку не снять, то потребуется отвечать на вопросы в процессе генерации проекта из шаблона.

Ниже нужно определить параметры приложения имя базы данных (databaseName), локальный IP адрес сетевого интерфейса (interfaceIp), который будет использоваться для связи между узлами и тестовый запрос в БД (sql, по умолчанию определен тестовый запрос для СУБД Postgres).

Параметры проекта

После ввода всех значений нажать кнопку Finish и дождаться окончания процесса генерации проекта из шаблона (ахретипа).

Если галку в поле run archetype generation interactive по какой либо причине не сняли, то в представлении Console среды разработки Eclipse потребуется отвечать на вопросы.

Созданный проект

Созданный проект

Раскройте созданный проект cluster и откройте файл README.md, в котором описан процесс запуска созданного приложения в среде Eclipse IDE и на других узлах.

В проекте приведен пример простого кластерного ресурса, который запускается в трех разных режимах: в кластерной группе на каждом узле, в кластерной группе только на одном узле и вне кластера.

Пример интерфейса приложения

Вид интерфейса пользователя при запуске приложения на двух узлах.

Пример интерфейса приложения

Примеры ресурсов кластера

  1. Пример конфигурационного файла приложения
  2. Пример конфигурационного файла log4j
  3. Пример конфигурации контекста WEB сервера Tomcat
  4. Пример реализации кластерного ресурса DemoResource.java