Ранее я установил и развернул RabbitMQ3.8 на сервере Windows. Сегодня я снова изменил программное обеспечение под названием MQTT. Сначала давайте разберемся с программным обеспечением RabbitMQ: это промежуточное программное обеспечение для обмена сообщениями, которое поддерживает протокол AMQP и используется между несколькими приложениями. сообщение. Он помогает распределять задачи, координировать процессы и обеспечивать асинхронную связь, а MQTT: — это легкий протокол обмена сообщениями публикации/подписки, используемый для доставки данных сообщений между подключенными к сети устройствами. Он использует портативный текстовый протокол, который экономит полосу пропускания и энергопотребление, помогая разработчикам Интернета вещей запускать приложения в сетях с ограниченным доступом.
Протоколы передачи разные: RabbitMQ использует протокол AMQP, а MQTT использует протокол MQTT.
Различные стратегии доставки: RabbitMQ поддерживает различные стратегии доставки, включая надежную доставку, доставку транзакций, проникающую доставку, публикацию и подписку и т. д., тогда как MQTT поддерживает только режим публикации и подписки.
Безопасность другая: RabbitMQ поддерживает безопасную передачу SSL, а MQTT — нет.
Различные возможности распространения сообщений: RabbitMQ поддерживает маршрутизацию сообщений, групповое распределение в несколько очередей, а MQTT поддерживает многотематическое широковещательное распространение.
Другая производительность: RabbitMQ имеет более высокую производительность, чем MQTT, поддерживает больше функций и поддерживает больше стратегий распределения сообщений.
После понимания программы начните установку. Установка и развертывание MQTT в CentOS обычно означает установку брокера MQTT. Шаги установки следующие:
Mosquitto может отсутствовать в репозитории Yum по умолчанию для CentOS, поэтому вам необходимо сначала добавить репозиторий EPEL (дополнительные пакеты для корпоративного Linux).
sudo yum install -y epel-release
Обновить индекс пакета Yum: После добавления нового репозитория обновите индекс менеджера пакетов Yum.
sudo yum update
В процессе установки вам будет предложено: «Существует 2 пакета программного обеспечения, обновлен 41 пакет программного обеспечения» и другая информация. Общий размер загрузки: 230 МБ.
Спросите, нужно ли оно вам, [д/д/Н]: просто [у], как показано на рисунке:
Используйте Yum для установки Mosquitto и его клиента.
sudo yum install -y mosquitto
Запустите сервис Mosquitto: После завершения установки запустите сервис Mosquitto.
sudo systemctl start mosquitto
Настраиваем автозапуск при включении: Если вы хотите, чтобы служба Mosquitto запускалась автоматически при запуске системы, вы можете настроить ее автоматический запуск при загрузке.
sudo systemctl enable mosquitto
Проверьте статус услуги: Убедитесь, что служба Mosquitto запущена.
sudo systemctl status mosquitto
Как показано на рисунке, «активный» указывает на рабочее состояние и отсутствие проблем.
Отключите анонимный вход: отредактируйте файл [/etc/mosquitto/mosquitto.conf] и установите [allow_anonymous false], как показано на рисунке:
Настройте аутентификацию: используйте команду mosquitto_passwd, чтобы сгенерировать имя пользователя и пароль, и укажите файл паролей в файле mosquitto.conf.
mosquitto_passwd -c /etc/mosquitto/passwd.conf user
Примечание. Параметр -c создаст новый файл. Если файл уже существует, используйте параметр -b, чтобы добавить нового пользователя.
Открытые порты: MQTT по умолчанию использует порт 1883. Убедитесь, что брандмауэр открыл этот порт.
firewall-cmd --zone=public --add-port=1883/tcp --permanentfirewall-cmd --reload
Опубликовать сообщение:
mosquitto_pub -h localhost -t test -m "hello world" -u "user" -P "password"
Подпишитесь на новости:
mosquitto_sub -h localhost -t test -u "user" -P "password"
Обязательно следуйте официальной документации и рекомендациям во время установки и настройки. Настройте конфигурацию прокси-сервера MQTT в соответствии с фактическими потребностями, такими как номер порта, метод аутентификации и т. д. В производственной среде обязательно обеспечьте безопасность MQTT-брокера, включая использование надежных паролей, ограничение доступа по IP и т. д. Хорошо, настройка завершена. Если у вас есть вопросы, оставьте сообщение~