Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Информация | ||
---|---|---|
| ||
Менеджер агентов (МА) - отдельное Web-приложение, которое предоставляет GUI для определения настроек агентов, отображает статус исполнения агентов и протоколов сбоев. Все эти данные сохраняются в собственной РБД. МА отслеживает расписания запусков агентов при помощи фреймворка Quartz и, при необходимости их запуска, отправляет приложению с агентами JMS-сообщение с параметрами для запуска. МА решает следующие задачи:
|
панель | |
---|---|
|
Свойства страницы | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Column | |||||
---|---|---|---|---|---|
| |||||
| |||||
Column | |||||
| |||||
|
Column | ||
---|---|---|
| ||
Column | |||||
---|---|---|---|---|---|
| |||||
|
панель | ||
---|---|---|
| ||
|
Компоненты
Название компонента | Описание компонента |
---|---|
Агент | Агент - это некоторый программный код, исполняющейся в фоновом режиме. Агент активируется менеджером агентов в соответствии с внешними настройками для его запуска. Для активации через менеджер агентов, агент должен иметь класс, реализующий интерфейс Agent. |
Менеджер агентов (МА) | Это автономное приложение, предназначенное для централизованного планирования исполнения агентов, запускаемых на разных машинах в составе разных приложений и мониторинга их состояния. Через GUI менеджера можно задать "настройки агентов", а также увидеть сводные данные о статусе исполнения агентов, результатах их работы, протоколы ошибок. |
Клиент менеджера агентов (КМА) | Библиотека (jar), встраиваемая в конечные приложения для взаимодействия МА с приложением |
Приложение с агентами | Приложение с агентами должно включать в себя jar-библиотеку для удаленного взаимодействия с менеджером агентов. В зависимости от типа приложения, могут подключаться дополнительные библиотеки. В частности, библиотека для получения протоколов изменений документов CompanyMedia (ChLog) через JMS-очереди CM и библиотека для активации агентов, реализованных в виде spring-бинов. |
Пул серверов | Для распределения вычислительной нагрузки экземпляры приложений с агентами могут разворачиваться на множестве серверов, составляющих кластер балансировки. Менеджер агентов должен стремиться обеспечить запуск очередного агента на наименее загруженном сервере в кластере. Каждая НЗ должна быть ассоциорована с некоторым пулом серверов, определяющем кластер балансировки для данной НЗ. На каждом сервере пула должно быть установлено приложение с агентом, указанным в НЗ. В простой конфигурации пул может быть единым для всех НЗ. |
Message Oriented Middleware (MOM) | Инфраструктура для публикации и доставки JMS-сообщений с данными для агентов, а также для служебных сообщений. Реализуется сторонними продуктами. Предполагается использование Artemis ActiveMQ, т.к. его клиент встроен в WildFly. |
Очередь данных | JMS-Queue или JMS-Topic, через которую агент получает сообщения для обработки. В системе может быть несколько разных очередей данных, но отдельный агент за один запуск может получать сообщения только из одной очереди, управляемой МА. |
Системная очередь | JMS-Topic или JMS-Queue, через которые МА и КМА обмениваются служебными сообщениями. Системные очереди не durable. |
Сущности
Название сущности | Описание сущности | ||
---|---|---|---|
Очередь данных | Содержит имя JMS-очереди, в которую публикуются сообщения, которые должны обрабатывать агенты и тип очереди (Topic или Queue). Также содержит имя очереди для отложенной доставки и длительность задержки. Для агентов в режиме Delayed, в эту очередь будут копироваться сообщения предыдущей очереди, но с заголовком для отложенной доставки и идентификатором НЗ для фильтрации при приеме сообщений | ||
Дескриптор агента | Настройка содержит
Также включает в себя следующие режимы агента, основную часть из которых будет интерпретировать КМА. Тип входных данных
Если тип входных данных агента "JMS-сообщения", то дескритпор содержит:
Режим конкуренции
Политика наложения расписания. Определяет, что делать если предыдущий запуск агента не завершился и наступило новое время для запуска агента.
"Самостоятельный агент" может активироваться только по расписанию. Каждый "Дескриптор агента" связан с одним "Дескриптором Приложения".
| ||
Настройка запуска (НЗ) | Каждый агент может активироваться по нескольким разным НЗ с разными параметрами. НЗ имеет разновидности:
Любая разновидность НЗ содержит:
Параметры должны быть типизированными и с возможностью выбора значений из классификаторов конечных приложений, таких, как модули из СС, Системные организации, Площадки. Значения параметров могут быть однозначными, либо массивами. В конечном итоге параметры будут передаваться КМА в JSON-формате вместе с сигналом на запуск агента. НЗ для "агента по расписанию" должна быть включена в одну или более "Групп агентов по расписанию" Настройка запуска ASAP/Delayed агентовМожет быть содана только для агентов с типом входных данных "JMS-сообщения".
Группа агентов по расписаниюСодержит
В группу могут входить только агенты
В режиме ANY вся группа выполняется на одном сервере. ASAP/Delayed агенты не могут входить в "группу агентов по расписанию" | ||
Дескриптор приложения | Содержит имя приложения (по-умолчанию имя ear-файла) и задает отдельное пространство имен для идентификаторов агентов. "Дескриптор приложения" связан с одним "Дескриптором кластера". Ссылка на дескриптор кластера не обязательная (см. п. "публикация агентов") | ||
Пул серверов | Содержит список имен хостов, взодящих в пул. Один и тотже хост может входить в несколько пулов. |