Структура Витрины данных
=============================
.. _components:
Составные части Витрины данных
--------------------------------
Программа имеет модульную архитектуру и построена на базе отдельных компонентов (включая разработки сторонних производителей).
Общую схему взаимосвязей компонентов можно просмотреть в разделе :ref:`system_architecture`.
.. tab-set::
.. tab-item:: Составные части конфигурации Стандарт
**Основные компоненты**
- **Prostore** - основной компонент программы с открытым исходным кодом, обеспечивает единый интерфейс к хранилищу разнородных данных.
Определяет структуры данных, запись и чтение данных Витрины. Позволяет работать со входящими в состав хранилища СУБД одинаковым образом,
используя единый синтаксис запросов SQL и единую логическую схему данных. Бэкапирование витрин выполняется средствами Prostore.
Prostore включает следующие компоненты:
- **Сервис исполнения запросов** — анализирует и исполняет SQL-запросы; предоставляет REST API для JDBC-драйвера и взаимодействует с сервисом
мониторинга статусов Kafka по REST API. В свою очередь состоит из следующих компонентов:
- Коннектор **Kafka-Postgres reader** - считывает данные из PostgreSQL и передает их в брокер сообщений Kafka;
- Коннектор **Kafka-Jet writer** - записывает данные из брокера сообщений Kafka в PostgreSQL;
- **Слой адаптеров** - общее название логических модулей программы, которые обеспечивают подключение к СМЭВ4, как информационной системы
участника взаимодействия. В зависимости от предназначения логические модули обеспечивают загрузку запросов из очереди
`ИС УВ `_
в `СМЭВ4 `_ , формирование и отправку
ответов в СМЭВ4, инициативное формирование уведомлений об изменении данных в экземпляре ПО «Витрина данных НСУД», отправку уведомлений
в СМЭВ4, регистрацию реплики данных ИС УВ, подписки на репликацию и поддержку реплики в актуальном состоянии.
**Компоненты, входящие в состав слоя адаптеров**
- **СМЭВ3-адаптер** - обеспечивает информационное взаимодействие через единый электронный сервис единой системы межведомственного
электронного взаимодействия (далее – СМЭВ).
- **Сервис формирования документов** - предназначен для обеспечения возможности формирования документов, в формате XML и PDF, на основе
предварительно подготовленных pebble-шаблонов, с возможностью добавления к сформированным документам электронной подписи.
- **CSV-Uploader** - программный модуль Витрины данных, предназначен для загрузки и выгрузки csv-файлов со структурой Витрины и csv-шаблонов
с демо-шаблонами структуры Витрины, а также просмотра Журнала операций.
- **BLOB-адаптер** - программный модуль Витрины данных, предназначен для получения доступа из Витрины данных к BLOB-объектам ведомства
(BLOB-объект - это специальный тип двоичных данных, предназначенный для хранения бинарных файлов: изображений, скан-копий документов,
текстовых файлов и т.д.).
- **DATA-Uploader** - Модуль исполнения асинхронных заданий обеспечивает обработку очереди файлов, используя следующие функциональные
особенности:
- обработка очереди файлов производится циклами;
- очередь файлов работает в режиме упорядочения процесса по принципу «первым пришел – первым обслужен»;
- каждый элемент в очереди файлов содержит UUID задания, имя витрины и таблицы, содержимое CSV-файла;
- файлы в очереди могут относится к разным витринам и/или разным таблицам одной витрины.
- **REST-Uploader** - Модуль асинхронной загрузки данных из сторонних источников реализован для обеспечения параллельной загрузки данных с
независимым масштабированием REST интерфейса.
- **Counter-provider** - Сервис генерации уникального номера (Counter-Provider) позволяет создавать неповторяющиеся уникальные порядковые
номера для сквозной нумерации файлов в сервисе формирования документов Типового ПО Витрины данных конфигурации установки Стандарт.
- **СМЭВ QL Сервер** - СМЭВ QL Сервер — приложение для конфигурирования и запуска типового API извлечения данных из хранилищ под управлением
типового ПО «Витрина данных» от Минцифры (Ядро Prostore 6.1+). СМЭВ QL Сервер обладает характеристиками:
- поддержка множественных источников данных Prostore;
- выбор источника по условиям запроса;
- защита атрибутов модели данных по их предоставлению;
- автоматический параллелизм запросов к Prostore.
**Дополнительные компоненты**
Рекомендуемое программное обеспечение для администрирования и мониторинга (не входит в поставку программы):
- **Агент СМЭВ4** - программное обеспечение, обеспечивающее сопряжение Типового ПО «Витрина данных» и ИС УВ с Ядром СМЭВ4. Связь компонентов реализована через HTTP.
- **Docker** - программное обеспечение для автоматизации развёртывания и управления программы в виртуальных средах с поддержкой
контейнеризации. Используется для установки Arenadata Cluster Manager (ADCM). Официальный сайт разработчика приложения:
https://www.docker.com/.
- **Elasticsearch** - система поиска и аналитики, позволяет быстро в режиме реального времени хранить, искать и анализировать большие объемы
данных и сохраняет их для Graylog. Для передачи сообщений в Graylog использует Filebeat. Официальный сайт разработчика приложения:
https://www.elastic.co/elasticsearch/.
- **Filebeat** - агент на сервере для отправки различных типов оперативных данных в Elasticsearch. Официальный сайт разработчика
приложения: https://www.elastic.co/elasticsearch/.
- **Grafana** - инструмент реализован в виде панели управления и мониторинга и позволяет визуализировать системные события программы на базе
собираемых метрик. Официальный сайт разработчика приложения: https://grafana.com/docs/.
- **Graylog** - программное обеспечение для управления лог-файлами. Официальный сайт разработчика приложения: https://www.graylog.org/;
- **МongoDB** - база данных Graylog. Официальный сайт разработчика приложения: https://www.mongodb.com/.
- **Node_exporter** - процессы, обеспечивающие сбор и передачу системных метрик серверу Prometheus. Также, используется для сбора метрик
модулей СМЭВ4-адаптера и CSV-uploader см. https://github.com/prometheus/node_exporter.
- **Prometheus** - используется как система мониторинга системных ресурсов программы. Связь компонентов реализована через HTTP. Данные
хранятся локально, в собственной TSBD базе, индексы хранятся в LevelDB. Метрики представляют собой time-series данные. Каждая метрика
состоит из имени метрики, временной метки и пары «ключ – значение». Визуализация осуществляется через подключение к Grafana. Официальный
сайт разработчика приложения: https://prometheus.io/.
.. tab-item:: Составные части конфигурации Лайт
**Основные компоненты**
- **ProStore** - основной компонент программы с открытым исходным кодом, обеспечивает единый интерфейс к хранилищу разнородных данных.
Определяет структуры данных, запись и чтение данных Витрины. Позволяет работать со входящими в состав хранилища СУБД одинаковым образом,
используя единый синтаксис запросов SQL и единую логическую схему данных. ProStore включает следующие компоненты:
- **Сервис исполнения запросов** — анализирует и исполняет SQL-запросы; предоставляет REST API для JDBC-драйвера и взаимодействует с сервисом
мониторинга статусов Kafka по REST API. В свою очередь состоит из следующих компонентов:
- Коннектор **Kafka-Postgres reader** - считывает данные из PostgreSQL и передает их в брокер сообщений Kafka;
- Коннектор **Kafka-Jet writer** - записывает данные из брокера сообщений Kafka в PostgreSQL;
- **Слой адаптеров** - общее название логических модулей программы, которые обеспечивают подключение к СМЭВ4, как информационной системы
участника взаимодействия. В зависимости от предназначения логические модули обеспечивают загрузку запросов из очереди
`ИС УВ `_
в `СМЭВ4 `_ , формирование и отправку
ответов в СМЭВ4, инициативное формирование уведомлений об изменении данных в экземпляре ПО «Витрина данных НСУД», отправку уведомлений
в СМЭВ4, регистрацию реплики данных ИС УВ, подписки на репликацию и поддержку реплики в актуальном состоянии.
**Компоненты, входящие в состав слоя адаптеров**
- **CSV-Uploader** - программный модуль Витрины данных, предназначен для загрузки и выгрузки csv-файлов со структурой Витрины и csv-шаблонов
с демо-шаблонами структуры Витрины, а также просмотра Журнала операций.
- **DATA-Uploader** - Модуль исполнения асинхронных заданий обеспечивает обработку очереди файлов, используя следующие функциональные
особенности:
- обработка очереди файлов производится циклами;
- очередь файлов работает в режиме упорядочения процесса по принципу «первым пришел – первым обслужен»;
- каждый элемент в очереди файлов содержит UUID задания, имя витрины и таблицы, содержимое CSV-файла;
- файлы в очереди могут относится к разным витринам и/или разным таблицам одной витрины.
- **REST-Uploader** - Модуль асинхронной загрузки данных из сторонних источников реализован для обеспечения параллельной загрузки данных с
независимым масштабированием REST интерфейса.
**Дополнительные компоненты**
- **Ansible** — платформа удалённого управления конфигурациями программного обеспечения, предназначенная для упрощения развёртывания |Product Lite| через создание
специальных сценариев. Официальный сайт разработчика приложения: https://www.ansible.com/.
- **Docker** — программное обеспечение для автоматизации развёртывания и управления программы в виртуальных средах с поддержкой контейнеризации. Контейнер
позволяет производить изолированный запуск ОС с подключённой файловой системой из образа, изолированно разворачивать приложения и реализовывать микросервисы.
Настройки среды хранятся в GitHub, обеспечивая единую точку управления конфигурациями. Может быть использован для для развёртывания тестового окружения
|Product Lite|, без прерывания работы сервисов в продуктовой среде. Официальный сайт разработчика приложения: https://www.docker.com/.
- **Elasticsearch** — утилита полнотекстового поиска и аналитики, которая позволяет быстро в режиме реального времени хранить, искать и анализировать большие
объемы данных и сохраняет их для Graylog. Для передачи сообщений в Graylog использует Filebeat. Официальный сайт разработчика приложения: https://www.elastic.co/elasticsearch/.
- **Filebeat** — агент на сервере для отправки различных типов оперативных данных в Elasticsearch. Официальный сайт разработчика приложения:
https://www.elastic.co/elasticsearch/.
- **Grafana** — инструмент реализован в виде панели управления и мониторинга и позволяет визуализировать системные события программы на базе собираемых метрик.
Официальный сайт разработчика приложения: https://grafana.com/docs/.
- **Graylog** — программное обеспечение для управления лог-файлами. Официальный сайт разработчика приложения: https://www.graylog.org/.
- **МongoDB** — база данных Graylog. Официальный сайт разработчика приложения: https://www.mongodb.com/.
- **Node_exporter** — процессы, обеспечивающие сбор и передачу системных метрик серверу Prometheus. Также, используется для сбора метрик СМЭВ4-адаптера и
CSV-uploader см. https://github.com/prometheus/node_exporter.
- **Portainer** — web-приложение для управления docker-контейнерами. Официальный сайт разработчика приложения: https://www.portainer.io/.
- **Prometheus** — используется как система мониторинга системных ресурсов |Product Lite|. Связь компонентов реализована через HTTP. Данные хранятся локально, в
собственной TSBD базе, индексы хранятся в LevelDB. Метрики представляют собой time-series данные. Каждая метрика состоит из имени метрики, временной метки и
пары «ключ – значение». Визуализация осуществляется через подключение к Grafana. Официальный сайт разработчика приложения: https://prometheus.io/.
- **PostrgeSQL** — база данных ProStore.
.. _distr_components:
Состав компонентов в дистрибутиве
---------------------------------
.. tab-set::
.. tab-item:: Состав компонентов в дистрибутиве конфигурации Стандарт
Состав компонентов в дистрибутиве конфигурации Стандарт версии 2.0.0 приведен в таблице ниже (см. :numref:`tab_components_standart`)
.. _tab_components_standart:
.. table:: Состав компонентов в дистрибутиве программы
====================================== ========== ======================================
Наименование компонента Версия Техническое наименование
====================================== ========== ======================================
query-execution 7.0 query-execution:7.0
blob-adapter 2.0.0 blob-adapter:2.0.0
counter-provider 2.0.0 counter-provider:2.0.0
csv-uploader 2.0.0 csv-uploader:2.0.0
data-uploader 2.0.0 data-uploader:2.0.0
dtm-uploader 2.0.0 dtm-uploader:2.0.0
printable-form-service 2.0.0 printable-form-service:2.0.0
rest-uploader 2.0.0 rest-uploader:2.0.0
smevql-server 1.2.0 smevql-server:1.2.0
СМЭВ3-адаптер 2.0.0 smev3-adapter:2.0.0
dtm-tools 1.20.0 dtm-tools:1.20.0
kafka-greenplum-PXF-connector (writer) 1.2.0 kafka-greenplum-PXF-connector:1.2.0
kafka-jet-writer 1.5.0 kafka-jet-writer:1.5.0
====================================== ========== ======================================
.. attention:: Для переноса системных данных (сервисной БД) из ZooKeeper в Postgres-совместимые СУБД при обновлении кластера Prostore до версии 7.2
используется `команда ZK2PG утилиты DTM Tools `_.
Дистрибутив программы версии 2.0.0 тестировался с компонентами, приведенными в :numref:`tab_test_components`
.. _tab_test_components:
.. table:: компоненты для тестирования программы
======================== ========== =========================
Наименование компонента Версия Техническое наименование
======================== ========== =========================
Агент СМЭВ4 3.17.0 Агент СМЭВ4:3.17.0
PostgreSQL 13.4 postgreSQL:13.4
======================== ========== =========================
.. note:: Дополнительные компоненты не входят в дистрибутив Программы
Конкретная конфигурация Витрины данных определяется Участником взаимодействия на этапе реализации Витрины данных в составе
ИТ-инфраструктуры Участника взаимодействия.
.. tab-item:: Состав компонентов в дистрибутиве конфигурации Лайт
Состав компонентов в дистрибутиве конфигурации Лайт версии 2.0.0 приведен в таблице ниже (см. :numref:`tab_components_lite`)
.. Проверить соответствие компонентов и версий в Portainer (документ "Установка программы")
.. _tab_components_lite:
.. table:: Состав компонентов в дистрибутиве программы
=========================== ========== ================================
**Наименование компонента** **Версия** **Техническое наименование**
=========================== ========== ================================
graylog 4.3.15 graylog:4.3.15
prometheus 2.34.0 prometheus:2.34.0
query-execution 7.0 query-execution:7.0
csv-uploader 2.0.0 csv-uploader:2.0.0
data-uploader 2.0.0 data-uploader:2.0.0
rest-uploader 2.0.0 rest-uploader:2.0.0
grafana 9.5.2 grafana:9.5.2
node_exporter 1.3.1 node_exporter:1.3.1
filebeat 7.10.2 filebeat:7.10.2
mongo 4.4 mongo:4.4
opensearch 1.3.14 opensearch:1.3.14
postgres 13.4 postgres:13.4
portainer 2.14.0 portainer:2.14.0
=========================== ========== ================================
Cвязи между компонентами
------------------------------
.. tab-set::
.. tab-item:: Cвязи между компонентами конфигурации Стандарт
Cвязи между компонентами конфигурации Стандарт приведены в :numref:`tab_gd_5`.
.. _tab_gd_5:
.. rst-class:: longtable
.. table:: Взаимодействие между составными частями
+----------------+----------------+--------------------+--------------------------------------------+
| **Клиент** | **Сервер** | **Способ** | **Описание** |
| | | **взаимодействия** | |
+================+================+====================+============================================+
| Сервисная база | Prostore | REST API | Хранение/получение метаданных |
| данных | | | |
| Prostore | | | |
| (PostgreSQL) | | | |
+----------------+----------------+--------------------+--------------------------------------------+
| | СУБД хранилища | | |
+----------------+----------------+--------------------+--------------------------------------------+
| | Apache Kafka | | |
+----------------+----------------+--------------------+--------------------------------------------+
| | СМЭВ4 Адаптер | | |
+----------------+----------------+--------------------+--------------------------------------------+
| | ETL | | |
+----------------+----------------+--------------------+--------------------------------------------+
| Prostore | Хранилище СУБД | REST API | Перенаправление запросов в конкретную СУБД |
+----------------+----------------+--------------------+--------------------------------------------+
| ETL | ProStore | Kafka | Исполнение запросов |
| | | (Диспетчер | |
| | | сообщений) | |
| | | | |
| | | JDBC | |
+----------------+----------------+--------------------+--------------------------------------------+
| Сервис | ProStore | REST API | Запрашивает данные для формирования ПФ |
| формирования | | | |
| документов | | | |
+----------------+----------------+--------------------+--------------------------------------------+
| СМЭВ3-адаптер | ProStore | REST API | Исполнение запросов |
+----------------+----------------+--------------------+--------------------------------------------+
| | BLOB-адаптер | REST API | Запрашивает бинарное содержимое BLOB. |
+----------------+----------------+--------------------+--------------------------------------------+
.. tab-item:: Cвязи между компонентами конфигурации Лайт
Cвязи между компонентами конфигурации Лайт приведены в :numref:`tab_3_gd_lite`.
.. _tab_3_gd_lite:
.. table:: Взаимодействие между составными частями
+--------------+----------------+---------------------------+--------------------------------------+
| **Клиент** | **Сервер** | **Способ взаимодействия** | **Описание** |
+==============+================+===========================+======================================+
| CSV-Uploader | ProStore | REST API | Управление логической структурой |
| | | | таблиц. |
| | | | |
| | | | Загрузка публикуемых данных в |
| | | | Витрину. |
+--------------+----------------+---------------------------+--------------------------------------+
| ProStore | СУБД | REST API | Управление логической структурой |
| | PostgreSQL | | таблиц. |
| | | | |
| | | | Исполнение запросов. |
| | | | |
| | | | Управление загрузкой публикуемых |
| | | | данных в Витрину. |
+--------------+----------------+---------------------------+--------------------------------------+
Модули Витрины данных
-----------------------
.. note:: Описание настроек модулей, процессы запуска и остановки модуля см. в документах: «Руководстве администратора» и «Руководстве по установке».
.. СМЭВ4-адаптер – Модуль исполнения запросов
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание СМЭВ4-адаптер-Модуль исполнения запросов
.. Подключаем файл с описанием СМЭВ4-адаптер-Модуль исполнения запросов
.. .. include:: ../../modules/podd-adapter-query/doc/podd_adapter_query_doc.rst
.. СМЭВ4-адаптер – Модуль подписок
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание СМЭВ4-адаптер - Модуль подписки
.. Подключаем файл с описанием СМЭВ4-адаптер - Модуль подписки
.. .. include:: ../../modules/podd-adapter-replicator/doc/podd_adapter_replicator_doc.rst
.. СМЭВ4-адаптер – Модуль MPPR
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание СМЭВ4-адаптер – Модуль MPPR
.. Подключаем файл с описанием СМЭВ4-адаптер – Модуль MPPR
.. .. include:: ../../modules/podd-adapter-mppr/doc/podd_adapter_mppr_doc.rst
.. СМЭВ4-адаптер – Модуль MPPW
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание СМЭВ4-адаптер-Модуль MPPW
.. Подключаем файл с описанием СМЭВ4-адаптер-Модуль MPPW
.. .. include:: ../../modules/podd-adapter-mppw/doc/podd_adapter_mppw_doc.rst
.. СМЭВ4-адаптер – Модуль группировки чанков репликации
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание модуля
.. Подключаем файл с описанием модуля
.. .. include:: ../../modules/podd-adapter-group-repl/doc/podd_adapter_group_repl_doc.rst
CSV-Uploader
~~~~~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание CSV-Uploader
.. Подключаем файл с описанием CSV-Uploader
.. include:: ../../modules/csv-uploader/doc/csv_uploader_doc.rst
.. СМЭВ4-адаптер - Модуль импорта табличных параметров
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание СМЭВ4-адаптер - Модуль импорта табличных параметров
.. Подключаем файл с описанием СМЭВ4-адаптер - Модуль импорта табличных параметров
.. .. include:: ../../modules/podd-adapter-import-tp/doc/podd_adapter_import_tp_doc.rst
.. СМЭВ4-адаптер - Модуль группировки данных табличных параметров
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание СМЭВ4-адаптер - Модуль группировки данных табличных параметров
.. Подключаем файл с описанием СМЭВ4-адаптер - Модуль группировки данных табличных параметров
.. .. include:: ../../modules/podd-adapter-group-tp/doc/podd_adapter_group_tp_doc.rst
.. СМЭВ4-адаптер - Модуль дефрагментации чанков табличных параметров
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание СМЭВ4-адаптер - Модуль дефрагментации чанков табличных параметров
.. Подключаем файл с описанием СМЭВ4-адаптер - Модуль дефрагментации чанков табличных параметров
.. .. include:: ../../modules/podd-avro-defragmentator/doc/podd_avro_defragmentator_doc.rst
DATA-Uploader - Модуль исполнения асинхронных заданий
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание DATA-Uploader - Модуль исполнения асинхронных заданий
.. Подключаем файл с описанием DATA-Uploader - Модуль исполнения асинхронных заданий
.. include:: ../../modules/data-uploader/doc/data_uploader_doc.rst
REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт и Лайт
.. Описание REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников
.. Подключаем файл с описанием REST-Uploader - Модуль асинхронной загрузки данных из сторонних источников
.. include:: ../../modules/rest-uploader/doc/rest_uploader_doc.rst
.. Подключаем файл с описанием ФЛК
.. include:: ../../modules/rest-uploader/doc/rest_uploader_format_control.rst
BLOB-адаптер
~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт
.. Описание Блоб-адаптер
.. Подключаем файл с описанием БЛОБ-адаптер
.. include:: ../../modules/blob-adapter/doc/blob_adapter_doc.rst
Сервис формирования документов
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт
.. Описание Сервис формирования документов
.. Подключаем файл с описанием Сервис формирования документов
.. include:: ../../modules/printable-form-service/doc/printable_form_service_doc.rst
СМЭВ QL Сервер
~~~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт
.. Описание СМЭВ QL Сервер
.. Подключаем файл с описанием СМЭВ QL Сервер
.. include:: ../../modules/smev-ql/doc/smev_ql_doc.rst
СМЭВ3-адаптер
~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт
.. Описание СМЭВ3-адаптер
.. Подключаем файл с описанием СМЭВ3-адаптер
.. include:: ../../modules/smev3-adapter/doc/smev3_adapter_doc.rst
Сервис генерации уникального номера (Counter-Provider)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт
.. Описание Сервис генерации уникального номера
.. Подключаем файл с описанием Сервис генерации уникального номера
.. include:: ../../modules/counter-provider/doc/counter_provider_doc.rst
ETL - Модуль загрузки/ удаления данных
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note:: Модуль входит в состав конфигурации Стандарт
.. Описание Модуль загрузки/ удаления данных
.. Подключаем файл с описанием Модуль загрузки/ удаления данных
.. include:: ../../modules/etl/doc/etl_doc.rst
.. Backup manager - утилита резервного копирования
.. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. .. note:: Утилита входит в состав конфигурации Стандарт
.. Описание Backup manager
.. Подключаем файл с описанием Backup manager
.. .. include:: ../../modules/backup-manager/doc/backup_manager_doc.rst
.. Подробное описание утилиты и работы с ней приведено в разделе :ref:`backup` Руководства администратора ПО «Витрина данных НСУД».
Связи с другими программами
---------------------------
.. tab-set::
.. tab-item:: Связи с другими программами конфигурации Стандарт
Взаимодействие с другими программами происходит путем вызова соответствующих модулей программы:
Связи программы с другими программами приведены в :numref:`tab_interaction` .
.. _tab_interaction:
.. table:: Связи с другими программами
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| **Клиент** | **Сервер** | **Способ | **Описание** |
| | | взаимодействия** | |
+================+================+==================+================================================================================================================+
| Сервис | Агент СМЭВ4 | REST | Передает сформированные документы для формирования ЭП. |
| формирования | | | |
| документов | | | |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| BLOB-адаптер | Агент СМЭВ4 | REST | - Получает запрос на предоставление содержимого BLOB-объекта; |
| | | | |
| | | | - Передает бинарное содержимое запрошенного BLOB-объекта. |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| | Хранилище BLOB | REST | Запрашивает бинарное содержимое BLOB. |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| СМЭВ3-адаптер | СМЭВ3 | SOAP | - Получает запрос вида сведений от СМЭВ3; |
| | | | |
| | | | - Передает Результат запроса вида сведений; |
| | | | |
| | | | - Инициативно рассылает сведения об изменении публикуемых данных. |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| | FTP-сервер | FTP | Загружает на сервер бинарное содержимое запрошенных BLOB-объектов. |
| | СМЭВ3 | | |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| | VipNet | REST | - Проверяет ЭП получаемых от СМЭВ3 сообщений; |
| | | | |
| | | | - Формирует ЭП для отправляемых в СМЭВ сообщений. |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| ETL | Файловое | S3, FTP и т.п. | Считывание CSV файлов с данными, импортируемыми в витрину |
| | хранилище | | |
| | ведомства | | |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| | БД ведомства | JDBC Driver | Считывание данных, импортируемых в витрину |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| Внутренняя ИС | Сервер | REST API | Имитация поведения, существующего REST API |
| Ведомств | конечных точек | | |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
| Внутренняя ИС | Ядро витрины | JDBC Driver | Доступ к БД ведомства |
| Ведомств | | | |
+----------------+----------------+------------------+----------------------------------------------------------------------------------------------------------------+
.. tab-item:: Связи с другими программами конфигурации Лайт
Взаимодействие с другими программами происходит путем вызова соответствующих модулей программы:
- Внутренняя ИС Ведомства взаимодействует с ProStore через JDBC-driver.
- СМЭВ4-адаптер - Модуль исполнения запросов для взаимодействия с ИС участников взаимодействия через Агента СМЭВ4.
- CSV-uploader для взаимодействия с ИС участников взаимодействия для передачи файлов в формате XML и CSV.
Связи программы со сторонними программами приведены в см. :numref:`tab_lite_connection`.
.. _tab_lite_connection:
.. table:: Связи с другими программами
+----------------+--------------+---------------------------+--------------------+
| **Клиент** | **Сервер** | **Способ взаимодействия** | **Описание** |
+================+==============+===========================+====================+
| Внутренняя ИС | CSV-uploader | Файловый обмен (CSV) | Загрузка |
| Ведомств | | | публикуемых |
| | | REST | данных в Витрину |
+----------------+--------------+---------------------------+--------------------+
| | ProStore | JDBC | Управление |
| | | | логической |
| | | | структурой |
| | | | таблиц. |
| | | | |
| | | | Исполнение |
| | | | запросов. |
| | | | |
| | | | Загрузка |
| | | | публикуемых |
| | | | данных в |
| | | | Витрину. |
+----------------+--------------+---------------------------+--------------------+
Карта портов
------------
Карта портов компонентов программы представлена в :numref:`tab_gd_7`.
.. _tab_gd_7:
.. rst-class:: longtable
.. table:: Карта портов
+-----------------------+---------------------------------------------+
| **Компонент** | **Описание** |
+=======================+=============================================+
| query-execution | Порт: 8080 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: номер порта сервиса метрик |
| | |
| | Порт: 9090 |
| | |
| | Протокол: TCP |
| | |
| | Описание: номер порта сервиса исполнения |
| | запросов |
+-----------------------+---------------------------------------------+
| prometheus | Порт: 9090 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: Подключение к Prometheus WEB UI |
+-----------------------+---------------------------------------------+
| grafana | Порт: 3000 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: WEB-интерфейс для работы c |
| | Grafana |
+-----------------------+---------------------------------------------+
| node_exporter | Порт: 9100 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: Порт для загрузки метрик |
+-----------------------+---------------------------------------------+
| filebeat | Порт: нет открытых портов |
| | |
| | Протокол: - |
| | |
| | Описание: - |
+-----------------------+---------------------------------------------+
| mongodb | Порт: 27017 |
| | |
| | Протокол:TCP |
| | |
| | Описание: Подключение к MongoDB. Порт по |
| | умолчанию для экземпляров mongod и mongos. |
| | |
| | Вы можете изменить этот порт с помощью port |
| | или ``--port``. |
| | |
| | Порт: 27018 |
| | |
| | Протокол: TCP |
| | |
| | Описание: Подключение к MongoDB. Порт по |
| | умолчанию для mongod при запуске с |
| | |
| | параметром командной строки ``--shardsvr`` |
| | или значением ``shardsvr`` для параметра |
| | ``clusterRole`` в файле конфигурации |
+-----------------------+---------------------------------------------+
| elasticsearch | Порт: 9200 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: Подключение к Elasticsearch. |
+-----------------------+---------------------------------------------+
| kafka_postgres_writer | Порт: 8096 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: Порт используется для записи |
| | топиков Kafka в ProStore |
+-----------------------+---------------------------------------------+
| kafka_postgres_reader | Порт: 8094 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: Порт используется для чтения |
| | топиков Kafka из ProStore |
+-----------------------+---------------------------------------------+
| postgres | Порт: 5432 |
| | |
| | Протокол: TCP PostgresSQL Protocol |
| | |
| | Описание: Источник данных SQL |
+-----------------------+---------------------------------------------+
| portainer | Порт: 9000 |
| | |
| | Протокол: HTTP |
| | |
| | Описание: Web-интерфейс для работы c |
| | Portainer |
+-----------------------+---------------------------------------------+