KIS MQTT (сервис)

Материал из ИбисоПедии
Перейти к: навигация, поиск

Внимание! оригинал этого файла в формате markdown лежит kis_services\trunk\kis_mqtt\doc\readme.md

Назначение

Получение сообщений от БД КИС через механизм PG_NOTIFY и отправка их брокеру сообщений MQTT для дальнейшей рассылки всем заинтересованным клиентам. Как правило, это уведомления клиентских приложений о событиях в системе, таких как:

  • "госпитализация",
  • изменение статуса пациента,
  • выход новой версии программы и т.п.

Есть несколько каналов (топиков) в MQTT брокере, куда отправляются сообщения:

  • список госпитализированных
  • список выписанных
  • системный канал

Состав

  • kismqttsrv.exe - файл службы Win32
  • kismqttctl.exe - управляющая программа
  • kis.ini - конфигурационный файл для подключения к БД
  • kis_mqtt.ini - настройки службы

Установка

  1. Скопировать файлы на сервер приложений
  2. Настроить файлы kis.ini и kis_mqtt.ini
  3. Запустить с правами администратора kismqttsrv.exe /install
  4. С помощью программы 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

Обновление

  1. С помощью программы kismqttctl.exe или вручную остановить сервис KIS_MQTT
  2. Обновить файлы
  3. Запустить службу

Мониторинг

Текущее состояние сервиса можно увидеть:

  • На сервере с помощью управляющей программы 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