Принцип взаимодействия сервисов
Для полноценной работы системы, необходим ряд сервисов/ПО, которые поддерживают определённый функционал системы. Ниже мы опишем, какие сервисы за что отвечают.
DATABASE - сервер баз данных, на основе MySQL, PgSQL или MSSQL. Сервер хранит данные системы, заявки, пользователей, группы и много другой информации. Данный сервис является критическим для работы системы.
REDIS - сервер очереди сообщений, необходим для отправки всплывающих PUSH-уведомлений в веб-браузере и работе чата. ZENLIX отправляет сообщения в REDIS.
NodeJS - сервер который подписан на сообщения REDIS и обслуживает работу всплывающих сообщений в веб-браузере и работе чата.
CRON - сервис, который запускает внутренний планировщик задач ZENLIX, для переноса заявок в архив, создании запланированных заявок, отправлении напоминаний о просроченных заявках, удалении старых заявок, переносе заявок в архив и т.д.
Supervisor - сервис который обрабатывает очередь задач/сообщений системы ZENLIX. Отвечает за отправку сообщений (email/sms, pushbullet) и других задач, которые требуют времени выполнения. Благодаря данному сервису происходит обработка отправки длительных сообщений в фоновом режиме.
Если какой-то из этих сервисов не работает, значит соответсвующие функции системы будут не работать. В основном проверить работоспособность сервиса можно наличием процесса:
Для поддержки сервиса NodeJS, используется вспомогательный сервис pm2. Доступность активного nodejs, можно увидеть с помощью команды:
Last updated