KIS MQTT (сервис)
Материал из ИбисоПедии
(перенаправлено с «KIS MQTT connector»)
Внимание! оригинал этого файла в формате markdown лежит kis_services\trunk\kis_mqtt\doc\readme.md
Содержание
Назначение
Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам. Как правило, это уведомления клиентских приложений о событиях в системе, таких как:
- "госпитализация",
- изменение статуса пациента,
- выход новой версии программы и т.п.
Есть несколько каналов (топиков) в MQTT брокере, куда отправляются сообщения:
- список госпитализированных
- список выписанных
- системный канал
Состав
- kismqttsrv.exe - файл службы Win32
- kismqttctl.exe - управляющая программа
- kis.ini - конфигурационный файл для подключения к БД
- kis_mqtt.ini - настройки службы
Установка
- Скопировать файлы на сервер приложений
- Настроить файлы kis.ini и kis_mqtt.ini
- Запустить с правами администратора kismqttsrv.exe /install
- С помощью программы kismqttctl.exe запустить сервис (или через оснастку "службы") и убедится, что он работает
Настройка
файл kis.ini
см. соответствующий раздел КИС
файл kis_mqtt.ini
[MQTT]
;адрес сервера где работает брокер MQTT brokerhost=192.168.1.16 brokerport=1883 [Web] ;Номер порта, который будет открыт службой для мониторинга состояния службы (по умолчанию 10033) Port=10033
[Postgrtesql]
username=KISMQTTSRV password=sys1okan ; Интервал для проверки соединения PingInterval=60 ; интервал для переподключения в случае обрыва ReconnectInterval=60
Обновление
- С помощью программы kismqttctl.exe или вручную остановить сервис KIS_MQTT
- Обновить файлы
- Запустить службу
Мониторинг
Текущее состояние сервиса можно увидеть:
- На сервере с помощью управляющей программы kismqttctl.exe
- Сервис сохраняет информацию о своей работе в текстовый файл в папке LOG в месте установки
- Через браузер http://<сервер>:<port>/admin
- Через АРМ «Администратор» - Сервисы
- Сервис поддерживает стандартное API KIS для мониторинга сервисов
Реализация
Сервис и управляющая программа собраны с помощью Delphi XE10. Для сборки сервиса требуются библиотеки:
- TMS MQTT client
- Synopse mORMot-master
- JEDI CODE library
Для сборки управляющей программы:
- DevExpressVCL
- JEDI CODE library
Возможна сборка сервиса под платформы
- Linux
- Andtroid
Структура исходных кодов
Исходные код находятся по пути: kis-z\server\kis_mqtt. Структура:
- Source – исходные коды
- Source\StressTest – нагрузочное тестирование через многопоточные приложения
- Test – скрипты для нагрузочных тестов клиентов с помощью kis_z