Перейти к основному содержимому

Структурная схема взаимодействия и архитектура сети

Структурная схема взаимодействия и архитектура сети


Введение

Архитектура включает восемь компонентов: клиент, сервис авторизации и аутентификации, веб-сервер, сервер приложений, база данных, MQTT брокер, WebSocket и IoT-устройства. Эти компоненты взаимодействуют для обеспечения безопасного доступа, обработки запросов, хранения данных, а также обмена данными с IoT-устройствами.

Cтруктурная схема

Описание элементов структурной схемы

Клиент (Client):

  • Описание: Клиент — это устройство или приложение, с которым взаимодействует пользователь. Это может быть веб-браузер, мобильное приложение или другое устройство.
  • Взаимодействие: Клиент отправляет запросы на веб-сервер, а также может поддерживать постоянное соединение с сервером приложений через Socket для получения данных в реальном времени. Клиент также взаимодействует с сервисом авторизации и аутентификации для получения доступа к системе.

Сервис авторизации и аутентификации (Authentication and Authorization Service):

  • Описание: Этот сервис отвечает за проверку личности пользователя (аутентификация) и определение его прав доступа (авторизация) к различным ресурсам системы.
  • Взаимодействие: Клиент взаимодействует с этим сервисом для получения подтверждения доступа. Сервер приложений также может обращаться к этому сервису для проверки прав доступа.

Веб-сервер (Web Server):

  • Описание: Веб-сервер принимает HTTP/HTTPS запросы от клиента и передает их на сервер приложений для обработки.
  • Взаимодействие: Веб-сервер перенаправляет запросы на сервер приложений, который обрабатывает бизнес-логику.

Сервер приложений (Application Server):

  • Описание: Сервер приложений выполняет основную бизнес-логику системы, обрабатывает запросы от веб-сервера, взаимодействует с базой данных и другими сервисами.
  • Взаимодействие: Взаимодействует с базой данных для чтения и записи данных. Взаимодействует с MQTT брокером для обмена сообщениями с IoT-устройствами. Поддерживает Socket-соединение с клиентом для передачи данных в реальном времени. Обращается к сервису авторизации и аутентификации для проверки прав доступа пользователя.

Сервер Баз данных (Database):

  • Описание: База данных хранит все необходимые данные для работы системы, такие как пользовательские данные, логи, параметры IoT-устройств и другие данные.
  • Взаимодействие: Сервер приложений обращается к базе данных для выполнения операций чтения и записи данных.

MQTT брокер (MQTT Broker):

  • Описание: MQTT брокер отвечает за маршрутизацию сообщений между сервером приложений и IoT-устройствами через протокол MQTT, который предназначен для легковесного обмена данными в средах с ограниченными ресурсами.
  • Взаимодействие: Сервер приложений взаимодействует с MQTT брокером для отправки команд и получения данных от IoT-устройств.

Socket:

  • Описание: Socket обеспечивает постоянное соединение между клиентом и сервером приложений, позволяя осуществлять двусторонний обмен данными в режиме реального времени.
  • Взаимодействие: Клиент устанавливает Socket соединение с сервером приложений для получения обновлений данных в режиме реального времени.

IoT-устройства (IoT Devices):

  • Описание: IoT-устройства — это физические устройства, оснащенные сенсорами, исполнительными механизмами и другими компонентами, которые подключены к интернету для передачи данных и получения команд.
  • Взаимодействие: IoT-устройства взаимодействуют с MQTT брокером, отправляя данные (например, показания датчиков) и получая команды (например, включение/выключение устройства).

Общая картина взаимодействия:

  1. Клиент отправляет запросы на веб-сервер для выполнения различных операций или данных, необходимых для работы системы.
  2. Перед взаимодействием с основной системой, клиент проходит через сервис авторизации и аутентификации, чтобы подтвердить свои полномочия.
  3. Веб-сервер перенаправляет эти запросы на сервер приложений, который обрабатывает логику системы.
  4. Сервер приложений обращается к базе данных для хранения и извлечения данных, а также к сервису авторизации и аутентификации для проверки прав доступа клиента.
  5. Сервер приложений взаимодействует с MQTT брокером для обмена данными с IoT-устройствами.
  6. Клиент поддерживает Socket-соединение с сервером приложений для получения данных в реальном времени, таких как обновления состояния IoT-устройств.
  7. IoT-устройства обмениваются данными с сервером приложений через MQTT брокер, отправляя данные и получая команды.

Заключение

Эта архитектура обеспечивает комплексное управление доступом, безопасную передачу данных, а также гибкую и масштабируемую инфраструктуру для интеграции с IoT-устройствами и обработки запросов в реальном времени.