RabbitMQ использует протокол mqtt [легко понять]
RabbitMQ использует протокол mqtt [легко понять]

Совет: После написания статьи оглавление может быть сгенерировано автоматически. О том, как его создать, см. в справочном документе справа.

Каталог статей


Предисловие

Изучая Интернет вещей в Интернете, я обнаружил, что кто-то может использовать Springboot + RabbitMQ для создания платформы Интернета вещей (IOT). Разве RabbitMQ не является очередью сообщений? Оказывается, в RabbitMQ есть два протокола. протокол, а протокол AMQP используется в интеллектуальном оборудовании. Это протокол MQTT.


1. Что такое RabbitMQ?

RabbitMQ — это реализация очереди сообщений, которую можно просто понимать как модель производитель/потребитель. Производитель помещает произведенные товары в магазин (очередь сообщений), а потребители приходят в магазин, чтобы купить их, если они им нужны. хранилище (очередь сообщений) реализует два асинхронных хранилища и развязано между ними.

RabbitMQ — это тип промежуточного программного обеспечения для сообщений, реализующего AMQP (расширенный протокол очереди сообщений). RabbitMQ в основном реализуется для достижения двусторонней развязки между системами. Когда производитель генерирует большой объем данных, а потребитель не может их быстро использовать, необходим промежуточный уровень. Сохраните эти данные.

AMQP, расширенный протокол очереди сообщений, является открытым стандартом для протоколов прикладного уровня и предназначен для промежуточного программного обеспечения, ориентированного на сообщения. Промежуточное программное обеспечение сообщений в основном используется для развязки между компонентами. Отправителю сообщения не обязательно знать о существовании потребителя сообщения, и наоборот. Основными особенностями AMQP являются ориентированность на сообщения, очередь, маршрутизация (включая двухточечную и публикацию/подписку), надежность и безопасность.

RabbitMQ — это реализация AMQP с открытым исходным кодом. Серверная часть написана на языке Erlang и поддерживает множество клиентов.

В Интернете слишком много представлений об этом без конкретики.

2. Что такое протокол mqtt?

Полное название MQTT (Message Queue Telemetry Transport): облегченный протокол связи, основанный на модели публикации/подписки (публикация/подписка). Он получает сообщения путем подписки на соответствующую тему. Это стандартный транспорт в Интернете вещей (). протокол Интернета вещей).

Этот протокол разделяет издателя сообщения (издатель) и подписчика (подписчика), поэтому он может предоставлять надежные службы сообщений для удаленно подключенных устройств в ненадежных сетевых средах. Метод использования в чем-то похож на традиционный MQ.

Протокол TCP расположен на транспортном уровне, а протокол MQTT — на уровне приложений. Протокол MQTT построен на протоколе TCP/IP, что означает, что протокол MQTT можно использовать везде, где есть стек протоколов TCP/IP. поддерживается.

Почему протокол MQTT используется в Интернете вещей (IOT)? В среде Интернета вещей (IOT) устройства будут сильно зависеть от окружающей среды, например, низкая пропускная способность, высокая задержка в сети, нестабильная сетевая связь и т. д. Очевидно, что асинхронные протоколы обмена сообщениями больше подходят для приложений IOT.

Протокол MQTT широко используется в Интернете вещей, мобильном Интернете, интеллектуальном оборудовании, Интернете транспортных средств, электроэнергетике и других областях.

Сценарии использования: Интернет вещей M2M-коммуникация, сбор больших данных Интернета вещей Отправка сообщений Android, отправка веб-сообщений Мобильный обмен мгновенными сообщениями, например Facebook Messenger. Умная техника, умная мебель, умная бытовая техника Интернет транспортных средств, сбор свай электростанций Умные города, телемедицина, дистанционное образование Рынки электроэнергетики, нефти и энергетики

Не буду вдаваться в подробности протокола MQTT, в сети их много.

3. Этапы настройки

1. Включите протокол mqtt RabbitMQ.

rabbitmq-plugins enable rabbitmq_mqtt

Код следующий (пример):

Язык кода:javascript
копировать
rabbitmq-plugins enable rabbitmq_mqtt

2.mqtt пакет зависимостей клиента

Внедрить push и подписку на клиентские сообщения Использование Spring-интеграции-mqtt, org.eclipse.paho.client.mqttv3 Код следующий (пример):

Язык кода:javascript
копировать
<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

boy illustration
RasaGpt — платформа чат-ботов на основе Rasa и LLM.
boy illustration
Nomic Embed: воспроизводимая модель внедрения SOTA с открытым исходным кодом.
boy illustration
Улучшение YOLOv8: EMA основана на эффективном многомасштабном внимании, основанном на межпространственном обучении, и эффект лучше, чем у ECA, CBAM и CA. Малые цели имеют очевидные преимущества | ICASSP2023
boy illustration
Урок 1 серии Libtorch: Тензорная библиотека Silky C++
boy illustration
Руководство по локальному развертыванию Stable Diffusion: подробные шаги и анализ распространенных проблем
boy illustration
Полностью автоматический инструмент для работы с видео в один клик: VideoLingo
boy illustration
Улучшения оптимизации RT-DETR: облегченные улучшения магистрали | Support Paddle облегченный rtdetr-r18, rtdetr-r34, rtdetr-r50, rtdet
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | Деформируемое внимание с большим ядром (D-LKA Attention), большое ядро ​​​​свертки улучшает механизм внимания восприимчивых полей с различными функциями
boy illustration
Создано Datawhale: выпущено «Руководство по тонкой настройке развертывания большой модели GLM-4»!
boy illustration
7B превышает десятки миллиардов, aiXcoder-7B с открытым исходным кодом Пекинского университета — это самая мощная модель большого кода, лучший выбор для корпоративного развертывания.
boy illustration
Используйте модель Huggingface, чтобы заменить интерфейс внедрения OpenAI в китайской среде.
boy illustration
Оригинальные улучшения YOLOv8: несколько новых улучшений | Сохранение исходной информации — алгоритм отделяемой по глубине свертки (MDSConv) |
boy illustration
Второй пилот облачной разработки | Быстро поиграйте со средствами разработки на базе искусственного интеллекта
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция с нулевым кодированием и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
Решенная Ошибка | Загрузка PyTorch медленная: TimeoutError: [Errno 110] При загрузке факела истекло время ожидания — Cat Head Tiger
boy illustration
Brother OCR, библиотека с открытым исходным кодом для Python, которая распознает коды проверки.
boy illustration
Новейшее подробное руководство по загрузке и использованию последней демонстрационной версии набора данных COCO.
boy illustration
Выпущен отчет о крупной модели финансовой отрасли за 2023 год | Полный текст включен в загрузку |
boy illustration
Обычные компьютеры также могут работать с большими моделями, и вы можете получить личного помощника с искусственным интеллектом за три шага | Руководство для начинающих по локальному развертыванию LLaMA-3
boy illustration
Одной статьи достаточно для анализа фактора транскрипции SCENIC на Python (4)
boy illustration
Бросая вызов ограничениям производительности небольших видеокарт, он научит вас запускать большие модели глубокого обучения с ограниченными ресурсами, а также предоставит полное руководство по оценке и эффективному использованию памяти графического процессора!
boy illustration
Команда Fudan NLP опубликовала 80-страничный обзор крупномасштабных модельных агентов, в котором в одной статье представлен обзор текущего состояния и будущего агентов ИИ.
boy illustration
[Эксклюзив] Вы должны знать о новой функции JetBrains 2024.1 «Полнострочное завершение кода», чтобы решить вашу путаницу!
boy illustration
Краткое изложение базовых знаний о регистрации изображений 1.0
boy illustration
Новейшее подробное руководство по установке и использованию библиотеки cv2 (OpenCV, opencv-python) в Python.
boy illustration
Легко создайте локальную базу знаний для крупных моделей на основе Ollama+AnythingLLM.
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание решения. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Одна статья поможет вам понять RAG (Retrival Enhanced Generation) | Введение в концепцию и теорию + практику работы с кодом (включая исходный код).
boy illustration
Эволюция архитектуры шлюза облачной разработки
boy illustration
Docker и Kubernetes [Разработка контейнерных приложений с помощью Python]