Совет: После написания статьи оглавление может быть сгенерировано автоматически. О том, как его создать, см. в справочном документе справа.
Изучая Интернет вещей в Интернете, я обнаружил, что кто-то может использовать Springboot + RabbitMQ для создания платформы Интернета вещей (IOT). Разве RabbitMQ не является очередью сообщений? Оказывается, в RabbitMQ есть два протокола. протокол, а протокол AMQP используется в интеллектуальном оборудовании. Это протокол MQTT.
RabbitMQ — это реализация очереди сообщений, которую можно просто понимать как модель производитель/потребитель. Производитель помещает произведенные товары в магазин (очередь сообщений), а потребители приходят в магазин, чтобы купить их, если они им нужны. хранилище (очередь сообщений) реализует два асинхронных хранилища и развязано между ними.
RabbitMQ — это тип промежуточного программного обеспечения для сообщений, реализующего AMQP (расширенный протокол очереди сообщений). RabbitMQ в основном реализуется для достижения двусторонней развязки между системами. Когда производитель генерирует большой объем данных, а потребитель не может их быстро использовать, необходим промежуточный уровень. Сохраните эти данные.
AMQP, расширенный протокол очереди сообщений, является открытым стандартом для протоколов прикладного уровня и предназначен для промежуточного программного обеспечения, ориентированного на сообщения. Промежуточное программное обеспечение сообщений в основном используется для развязки между компонентами. Отправителю сообщения не обязательно знать о существовании потребителя сообщения, и наоборот. Основными особенностями AMQP являются ориентированность на сообщения, очередь, маршрутизация (включая двухточечную и публикацию/подписку), надежность и безопасность.
RabbitMQ — это реализация AMQP с открытым исходным кодом. Серверная часть написана на языке Erlang и поддерживает множество клиентов.
В Интернете слишком много представлений об этом без конкретики.
Полное название MQTT (Message Queue Telemetry Transport): облегченный протокол связи, основанный на модели публикации/подписки (публикация/подписка). Он получает сообщения путем подписки на соответствующую тему. Это стандартный транспорт в Интернете вещей (). протокол Интернета вещей).
Этот протокол разделяет издателя сообщения (издатель) и подписчика (подписчика), поэтому он может предоставлять надежные службы сообщений для удаленно подключенных устройств в ненадежных сетевых средах. Метод использования в чем-то похож на традиционный MQ.
Протокол TCP расположен на транспортном уровне, а протокол MQTT — на уровне приложений. Протокол MQTT построен на протоколе TCP/IP, что означает, что протокол MQTT можно использовать везде, где есть стек протоколов TCP/IP. поддерживается.
Почему протокол MQTT используется в Интернете вещей (IOT)? В среде Интернета вещей (IOT) устройства будут сильно зависеть от окружающей среды, например, низкая пропускная способность, высокая задержка в сети, нестабильная сетевая связь и т. д. Очевидно, что асинхронные протоколы обмена сообщениями больше подходят для приложений IOT.
Протокол MQTT широко используется в Интернете вещей, мобильном Интернете, интеллектуальном оборудовании, Интернете транспортных средств, электроэнергетике и других областях.
Сценарии использования: Интернет вещей M2M-коммуникация, сбор больших данных Интернета вещей Отправка сообщений Android, отправка веб-сообщений Мобильный обмен мгновенными сообщениями, например Facebook Messenger. Умная техника, умная мебель, умная бытовая техника Интернет транспортных средств, сбор свай электростанций Умные города, телемедицина, дистанционное образование Рынки электроэнергетики, нефти и энергетики
Не буду вдаваться в подробности протокола MQTT, в сети их много.
rabbitmq-plugins enable rabbitmq_mqtt
Код следующий (пример):
rabbitmq-plugins enable rabbitmq_mqtt
Внедрить push и подписку на клиентские сообщения Использование Spring-интеграции-mqtt, org.eclipse.paho.client.mqttv3 Код следующий (пример):
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-mqtt</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.paho</groupId>
<artifactId>org.eclipse.paho.client.mqttv3</artifactId>
<version>1.2.0</version>
</dependency>
Учитесь чему-то каждый день и записывайте каждую часть этого
Заявление об авторских правах: Содержание этой статьи добровольно предоставлено пользователями Интернета, а мнения, выраженные в этой статье, представляют собой только точку зрения автора. Данный сайт лишь предоставляет услуги по хранению информации, не имеет никаких прав собственности и не несет соответствующей юридической ответственности. Если вы обнаружите на этом сайте какое-либо подозрительное нарушение авторских прав/незаконный контент, отправьте электронное письмо, чтобы сообщить. После проверки этот сайт будет немедленно удален.
Издатель: Лидер стека программистов полного стека, укажите источник для перепечатки: https://javaforall.cn/186221.html Исходная ссылка: https://javaforall.cn