CRAB
Система оркестрации/Nexign Orchestration Engine
Назначение
Продукт «Система оркестрации (Nexign Orchestration Engine, CRAB)» (далее – CRAB) является системой исполнения интеграционных сценариев и позволяет автоматизировать процессы в распределенной информационной среде, когда взаимодействующие программные продукты установлены на разных серверах, филиалах и центрах обработки данных. Сценарии могут быть связаны как с решением бизнес-задач (например, продажа и подключение абоненту услуги), так и быть исключительно техническими (например, передача данных на оборудование).
Архитектура решения
Продукт CRAB является распределенной системой:
- Регистрацию заявок на исполнение сценариев выполняет узел WEBAPP, предоставляющий REST API.
- Обработку заявок и исполнение сценариев выполняют узлы кластера: DISPATCHER, WORKER, CONSUMER и ACTIVATOR.
Интеграционные сценарии состоят из:
- спецификации сценария, задаваемой при регистрации заявки и описывающей порядок операций;
- исполняемых файлов с операциями, расположенных на узлах WORKER.
Функциональные возможности
1. Асинхронное исполнение интеграционных сценариев.
2. Интеграция с внешними системами:
- типовые паттерны: запрос-ответ по синхронному и асинхронному каналам, опрос систем;
- поддержка различных протоколов взаимодействия (в библиотеке Apache Camel).
3. Интеграция систем c продуктом CRAB:
- регистрация заявок по синхронному и асинхронному каналу;
- динамическое определение сценария при создании заявки;
- нотификация о результатах исполнения (по синхронному или асинхронному каналам);
- регистрация внешних событий, влияющих на ход исполнения сценария.
4. логики сценария:
- поддержка типовых конструкций (циклы, ветвления, обработка ошибок, и т.п.);
- приостановка исполнения на длительный период;
- поддержка реакции на внешние события.
5. Управление порядком исполнения сценариев:
- параллельное исполнение в порядке регистрации заявок;
- последовательное исполнение в рамках заданной очереди;
- исполнение сценариев с учётом зависимостей.
Ключевые преимущества
Эффективная утилизация ограниченных ресурсов
1. Максимизация скорости обработки критичных процессов:
- распределение в соответствии с приоритетами заявок.
2. Использование всех свободных ресурсов для обработки пиковой нагрузки по отдельным потокам без влияния на остальные:
- распределение в соответствии с нормами потоков заявок.
3. "Сглаживание" пиковой нагрузки на внешние системы:
- управление лимитами потоков заявок.
Широкие эксплуатационные возможности
1. Минимизация ошибок исполнения за счёт:
- автоматического замедления/приостановки потоков заявок при деградации/недоступности внешних систем;
- автоматического повтора исполнения сценария при ошибках синхронного и асинхронного взаимодействия.
2. Осуществление мониторинга и журналирования работы компонентов.
Высокая производительность и отказоустойчивость
1. Горизонтальное масштабирование исполнителей сценариев.
2. Резервирование всех компонентов.
Особенности эксплуатации
Для эксплуатации CRAB необходим следующий набор программного обеспечения:
- Операционная система Red OS 7.3;
- Java - версия 1.8;
- СУБД PostgreSQL 14 или выше;
- Apache ZooKeeper версии 3.4.6 или выше;
- Брокер сообщений RabbitMQ;
- Контейнер сервлетов Apache Tomcat;
- WEB-сервер Apache.
Установка
Установка продукта CRAB выполняется с помощью встроенного автоинсталлятора, использующего технологию Ansible.
Для установки требуется
1. Подготовить и настроить целевые сервера, в том числе установить Tomcat и Apache.
2. Подготовить и настроить окружение:
- PostgreSQL;
- RabbitMQ;
- Zookeeper.
3. Подготовить схему развертывания
4. Задать параметры установки
5. Запустить автоинсталлятор.
Подробнее - см. руководство по установке продукта CRAB.
Стоимость продукта
Чтобы узнать стоимость продукта и детали по услугам внедрения и поддержки, свяжитесь с нами: sales@nexign.com
Полная документация по продукту
Полный пакет документации передается заказчику с дистрибутивом и содержит подробное описание функциональности, инструкции по установке продукта, детали по взаимодействию с внешним окружением и особенности эксплуатации. Свяжитесь с нами, чтобы узнать подробности: sales@nexign.com