Быстрый запуск
«Агредатор» представляет собой сервисную шину обмена данными, построенную на микросервисной архитектуре. Она интегрируется в существующую IT-инфраструктуру заказчика за счет открытого API и выполняет роль шлюза между заказчиком и поставщиками данных. Источники данных подключаются через микросервисы, гибко масштабируемые в зависимости от нагрузки. Шина может быть интегрирована в инфраструктуру как без замены существующих рабочих решений по интеграции с источниками данных (например, СМЭВ), так и с заменой и быстрым переподключением микросервисов к текущим или новым источникам данных.
Данное руководство описывает процесс быстрого запуска тестового стенда с использованием готового шаблона запуска Docker-сервисов.
Получение шаблонов
Платформа «Агредатор» разворачивается как набор Docker-контейнеров. Для запуска и администрирования применяются стандартные подходы и утилиты - команды docker
и docker-compose
.
Шаблон конфигурации содержит набор docker-compose файлов и несколько вспомогательных скриптов 1 для запуска. Обычно он поставляется в виде архива, который надо распаковать в папку 2 /storage/configs/example
. Эту папку лучше всего взять под локальный контроль версий git
, чтоб при обновлении явно видеть, какие параметры изменились.
Установка и обновления происходят посредством скачивания новых версий образов с ресурсов:
- https://docker.rnds.pro
- https://harbor.rnds.pro
- https://hub.docker.com
Более подробно требования к инфраструктуре описаны в разделе Требования
Состав платформы
Данная тестовая конфигурация включает следующие сервисы 3:
consul
с открытым портом 8500 на хост машине. Состояние платформы можно смотреть по адресу наhttp://<host>:8500/ui/dc1/services
RabbitMQ
с открытым портом 15672 на хост машине. Это административная панельRabbitMQ
PostgreSQL
- Сервис
admin
на порту 81- административная панель платформы «Агредатор». Через неё производится проверка работоспособности. - Сервис
filator
на порту 8082 - сервис-файлообменник - ряд внутренних вспомогательных сервисов
Параметры запуска и данные для доступа находятся в фалах configs/config.yaml
в соответствующих разделах шаблона.
В тестовой конфигурации доступ к инфраструктурным сервисам не защищен! Предполагается использование в защищенном контуре для ознакомления. В продуктовой конфигурации следует обеспечить требуемую степень информационной безопасности.
Запуск
Для запуска платформы необходимо выполнить скрипт run.sh
в корне шаблона или по очереди в папках infra
, core
и services
. В течении нескольких минут все сервисы будут загружены и запущены. В результате в интерфейса Consul можно будет увидеть "зеленые" сервисы:
Платформа запущена и можно переходить к проверке работоспособности. При возникновении проблем можно воспользоваться стандартными инструментами для поиска неисправностей: docker ps
для выявления проблемных, перезапускающихся контейнеров и docker logs
для получения детальной информации по каждому из них.
При первом запуске необходим ручной перезапуск сервиса mq
:
$ docker restart infra_example_mq_1
Проверка работоспособности
В данную поставку входит специальный проверочный эхо-сервис, который отвечает на запрос теми данными, которые получил. С помощью него можно проверить работоспособность ядра платформы, валидность TLS сертификатов и состояние брокера сообщений RabbitMQ
. Для этого необходимо зайти в административную панель платформы «Агредатор», расположенную по адресу http://<host>:81
и ввести тестовые учетные данные администратора: admin@example.local
/ exampletest
.
Далее в разделе Проверка сервисов
необходимо выбрать сервис echo
и в поле запроса ввести любой валидный JSON:
{
"привет": "мир"
}
Через долю секунды должен быть получен ответ со статусом Успех
:
-
Мы стараемся делать конфигурацию запуска максимально понятной для специалистов поддержки и данные скрипты состоят всего лишь из нескольких строк, автоматизирующих команды
docker pull
,docker run
и подобные. ↩ -
Путь можно использовать любой, однако мы рекомендуем придерживаться данных рекомендаций - это облегчит поддержку и сопровождение в будущем. ↩
-
Ряд сервисов не входят в платформу «Агредатор» и являются "внешними" по отношения к ней:
RabbitMQ
,PostgreSQL
,Redis
. Они входят в группуinfra
и при продуктовой эксплуатации запускаются и сопровождаются специалистами заказчика. ↩