Состав системы DECK.AUTH ¶
PHP-FPM ¶
FPM (FastCGI Process Manager, менеджер процессов FastCGI) является альтернативной реализацией PHP FastCGI с несколькими дополнительными возможностями обычно используемыми для высоконагруженных сайтов.
Основная часть DECK.AUTH (панель администратора и captive-портал) реализована на PHP с использованием фреймворка Yii2.
СУБД PostgreSQL ¶
PostgreSQL - свободная объектно-реляционная система управления базами данных (СУБД). PostgreSQL базируется на языке SQL и поддерживает многие из возможностей стандарта SQL:2011.
DECK.AUTH использует PostgreSQL для хранения данных и кофигураций.
Минимальная версия PostgreSQL для DECK.AUTH 9.5 (рекомендуемая 9.6).
Memcached ¶
Memcached — программное обеспечение, реализующее сервис кэширования данных в оперативной памяти на основе хеш-таблицы.
DECK.AUTH использует Memcached для хранения PHP-сессий и кэширование результатов запросов к СУБД.
NGINX - вебсервер ¶
nginx — веб-сервер и почтовый прокси-сервер, работающий на Unix-подобных операционных системах.
По данным W3Techs, nginx наиболее часто используется на высоконагруженных сайтах, занимая первое место по частоте использования среди 100 000 самых посещаемых сайтов в мире — больше половины из них работает на nginx.
DECK.AUTH использует nginx для предоставления доступа к панели администратора и captive-порталу.
Статические данные отдаются клиенту непосредственно самим nginx. Для доступа к динамическим данным используется nginx proxy до PHP-FPM.
В DECK.AUTH nginx настроет по рекомендациям для обеспечения максимальной нагрузки.
RabbitMQ ¶
RabbitMQ — платформа, реализующая систему обмена сообщениями между компонентами программной системы (Message Oriented Middleware) на основе стандарта AMQP (Advanced Message Queuing Protocol).
RabbitMQ создан на основе испытанной Open Telecom Platform, обеспечивающий высокую надёжность и производительность промышленного уровня и написан на языке Erlang.
Поддерживается горизонтальное масштабирование для построения кластерной архитектуры.
DECK.AUTH использует RabbitMQ для взаимодействия компонент системы между собой.
В текущем релизе, DECK.AUTH использует RabbitMQ для маршрутизации RPC вызовов, например для вызова отправки SMS, для вызова отправки запроса к Fidelio Agent`у.
В следующих релизах планируется задействовать RabbitMQ для передачи событий между компонентами системы и для предоставления интерфейсов интеграции со сторонними системами.
Панель администратора ¶
Часть DECK.AUTH, отвечающая за предоставление web-интерфейса для управления системой ее настроики и мониторинга состояния.
Доступ к панели администратора ограничен парой логин/пароль.
Captive портал ¶
Часть DECK.AUTH отвечающая за визуализацию и логику работы captive-портала.
Web-интерфейс отображаемый абоненту при подключении к WiFi сети и серверная часть для взаимодействия с компанентами системы.
Внешний вид captive-портала настраивается в панели администратора. В системе может быть созданно несколько captive-порталов.
RADIUS Authentication сервер и Accounting сервер ¶
RADIUS (англ. Remote Authentication in Dial-In User Service) — протокол для реализации аутентификации, авторизации и сбора сведений об использованных ресурсах, разработанный для передачи сведений между центральной платформой и оборудованием.
В DECK.AUTH используются два раздельных сервера, один отвечает за аутентификацию, а другой за прием и сохранение accounting пакетов.
В DECK.AUTH используется RADIUS сервер собственной разработки, в который вложен, минимально необходимый для функцианирования системы, функционал. В сервер заложена логика работы с поддерживаемым системой активным оборудованием.
RADIUS сервер разработан на платформе NodeJS.
Параметры и логика работы сервера настраивается в панели администратора системы.
SMPP - сервис ¶
Сервис DECK.AUTH, отвечающий за взимодействие с SMS шлюзами по протоколу SMPP.
SMPP — (Short Message Peer-to-Peer) короткие сообщения одноранговой Сети. Является открытым стандартом в телекоммуникационной отрасли, который разработан специально, чтобы обеспечить гибкий интерфейс для п ередачи коротких сообщений между внешними сущностями (устройства, приложения) коротких сообщений (ESME), маршрутизаторами и центров сообщений (SMSC).
Сервис может использоваться системой для отправки или приема SMS.
Для взаимодействия с другими компонентами системы реализует обработку RPC вызовов.
Разработан на платформе NodeJS.
SMS - сервис ¶
Сервис DECK.AUTH, отвечающий за взимодействие с SMS шлюзами по протоколу HTTP или API вызовов конкретных шлюзов.
Для взаимодействия с другими компонентами системы реализует обработку RPC вызовов.
Разработан на платформе NodeJS.
Fidelio - сервис ¶
Сервис DECK.AUTH, отвечающий за взимодействие агентом Fidelio.
Для взаимодействия с другими компонентами системы реализует обработку RPC вызовов.
Разработан на платформе NodeJS.
Данный сервис позволет осуществить аутентификацию абонентов по номеру комныты и фамилии зарегистрированного постояльца в системе управления гостиницей Fidelio Suite 8.
Fidelio - агент ¶
Отдельное програмное обеспечение собственной разработки, отвечающее за обращение к СУБД системы управления гостиницей Fidelio Suite 8.
Для взаимодействия с DECK.AUTH используется протокол HTTP с передачей данных в зашифрованном виде.
Разработан на платформе GO.