KIS MQTT (сервис) — различия между версиями

Материал из ИбисоПедии
Перейти к: навигация, поиск
(файл kis_mqtt.ini)
 
(не показаны 2 промежуточные версии 2 участников)
Строка 20: Строка 20:
 
* kis''mqtt''srv.exe - файл службы Win32
 
* kis''mqtt''srv.exe - файл службы Win32
 
* kis''mqtt''ctl.exe - управляющая программа
 
* kis''mqtt''ctl.exe - управляющая программа
* kis.ini - кнфигурационный файл для подключения к БД
+
* kis.ini - конфигурационный файл для подключения к БД
* kis_mqtt.ini настройки службы
+
* kis_mqtt.ini - настройки службы
  
 
= Установка =
 
= Установка =
Строка 27: Строка 27:
 
# Скопировать файлы на сервер приложений
 
# Скопировать файлы на сервер приложений
 
# Настроить файлы kis.ini и kis_mqtt.ini
 
# Настроить файлы kis.ini и kis_mqtt.ini
# запустить с правами администратора kis''mqtt''srv.exe /install
+
# Запустить с правами администратора kis''mqtt''srv.exe /install
 
# С помощью программы kis''mqtt''ctl.exe запустить сервис (или через оснастку "службы") и убедится, что он работает
 
# С помощью программы kis''mqtt''ctl.exe запустить сервис (или через оснастку "службы") и убедится, что он работает
  
Строка 34: Строка 34:
 
== файл kis.ini ==
 
== файл kis.ini ==
  
см. соответсвующий раздел КИС
+
см. соответствующий раздел КИС
  
 
== файл kis_mqtt.ini ==
 
== файл kis_mqtt.ini ==
  
 
[MQTT]  
 
[MQTT]  
  ;адрес сервера где работает брокер MQTT brokerhost=192.168.1.16 brokerport=1883 [Web]  
+
  ;адрес сервера где работает брокер MQTT  
  ;Номер порта, который будет открыт службой для мониторинга состояния службы (по умолчанию 10033) Port=10033  
+
brokerhost=192.168.1.16  
[Postgrtesql] username=KIS''MQTT''SRV password=sys1okan  
+
brokerport=1883 [Web]  
  ; Интервал для проверки соедининия PingInterval=60  
+
  ;Номер порта, который будет открыт службой для мониторинга состояния службы (по умолчанию 10033)  
  ; интревал для преподключения в случае обрыва ReconnectInterval=60
+
Port=10033  
 +
[Postgrtesql]  
 +
username=KIS''MQTT''SRV  
 +
password=sys1okan  
 +
  ; Интервал для проверки соединения
 +
PingInterval=60  
 +
  ; интервал для переподключения в случае обрыва  
 +
ReconnectInterval=60
  
 
= Обновление =
 
= Обновление =

Текущая версия на 10:54, 29 октября 2020

Внимание! оригинал этого файла в формате 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