Проект IoT-MQTT-Server
Лёгкий сервер интернета вещей (IoT) MQTT, быстрый в развёртывании и поддерживающий кластеризацию.
Реализован на основе стека технологий Netty + SpringBoot + Ignite:
iot-mqtt-server
├── mqtt-auth — аутентификация при подключении к MQTT-сервису по имени пользователя и паролю
├── mqtt-broker — ядро функциональности MQTT-сервера
├── mqtt-common — общие классы и интерфейсы для других модулей
└── mqtt-store — постоянное хранение информации о сеансах, темах и т. д. для MQTT-сервера
В настоящее время поддерживается кластеризация через многоадресную рассылку и статические IP-адреса (одновременно использовать многоадресную рассылку и статический IP нельзя).
spring.mqtt.enable-multicast-group=true
и spring.mqtt.multicast-group=групповой адрес
.spring.mqtt.enable-multicast-group=false
и spring.mqtt.static-ip-addresses=несколько IP через запятую
.По умолчанию используется простое шифрование имени пользователя с помощью RSA-ключа для генерации пароля. При аутентификации подключения пароль расшифровывается и сравнивается с соответствующим именем пользователя. Если требуется реализовать аутентификацию подключения через базу данных или другим способом, достаточно переписать соответствующие методы в модуле mqtt-auth.
Сертификат сервера хранится в файле mqtt-broker/resources/keystore/mqtt-broker.pfx. Пользователи могут создавать свои собственные сертификаты, но они должны храниться в указанном месте и иметь указанное имя файла.
Рекомендуется использовать конфигурацию keepalived + nginx + mqtt-broker для развёртывания в производственной среде. Nginx используется как обратный прокси для балансировки нагрузки между mqtt-brokers в кластере с использованием TCP и WebSocket. Keepalived обеспечивает высокую доступность nginx.
docker run --name=mqtt-broker-service --net=host --restart=always --env-file=/home/rancher/mqtt-broker/env.list -v /home/rancher/mqtt-broker/config/:/opt/mqtt-broker/config/ -v /home/rancher/mqtt-broker/persistence/:/opt/mqtt-broker/persistence/ -d mqtt-broker:1.5
.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )