Что такое MQTT и чем он отличается от MQ?
Что такое MQTT и чем он отличается от MQ?

Рекомендуемые статьи на сегодня:Go Языковая реализация AES Алгоритм шифрования и дешифрования — Сообщество разработчиков Tencent Cloud — Tencent Cloud

Комментарий: В этой статье в основном представлен алгоритм AES и его реализация на языке Go, включая принципы работы, преимущества и недостатки, а также сценарии применения режимов ESB, CBC и CFB, а также приведены соответствующие примеры кода. Структура статьи ясна. , содержание подробное и играет важную роль в понимании алгоритма шифрования AES и его применения.

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

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

раньшеIBMпредлагать,и сталOASIS(Открытые стандарты для организационной совместимостиOrganization for the Advancement of Structured Information Стандарты) часть спецификации.

Благодаря простой конструкции,MQTTИдеально подходит для систем с низким энергопотреблением и ограниченной пропускной способностью сети.1oT(Интернет вещей)сцена。В качестве протокола межмашинной связи,MQTTОпубликовано/Модель подписки вместо запроса/шаблон ответа。

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

Сразу像даW3Cорганизация определяетhtml,Крупнейшие производители браузеров,Браузеры разработаны с учетом этих стандартов.

Мы используем только браузер,чувствоватьhtml。Та же причина,MQTTСразу Вот и все


дляMQTT,Соглашение содержит три типа ролей.

  • MQTT client publisher,продюсер,Обычно относится к различным интеллектуальным устройствам, которые отправляют сообщения.
  • MQTT Broker,агент-посредник,ретранслятор сообщений
  • MQTT client subscriber,подписчик,Обычно относится к терминальному устройству, которое получает сообщения.

В основном он имеет следующие характеристики

  • Между издателем и подписчиком нет прямой связи, и издателю не нужно ждать подтверждения от подписчика для продолжения обработки задачи.
  • Пользователи могут сами выбирать время для потребления информации. Издателям и подписчикам не обязательно быть онлайн одновременно.
  • Когда сообщения приложений передаются по сети через протокол MQTT, они имеют связанные уровни и темы качества обслуживания (QoS). QoS обеспечивает надежность сообщений. MQTT предоставляет три уровня качества обслуживания для различных сценариев.
    • Доставка максимум (в most один раз): отправитель сообщения отправляет сообщение только один раз, но нет никакой гарантии, что сообщение будет доставлено успешно.
    • Доставка хотя бы один раз: если получатель сообщения не получил сообщение правильно или сообщение потерялось, отправитель сообщения отправит его повторно, чтобы гарантировать, что получатель получил его хотя бы один раз.
    • Только одна доставка (Ровно один раз): это высочайший уровень качества обслуживания, обеспечиваемый MQTT, гарантирующий, что сообщения не будут потеряны или дублированы.

MQTTФормат данных протокола также очень прост.,разделен на4блокировать контент

  1. Информация заголовка сообщения: укажите основную информацию.,Например, тип сообщения иQos
  2. Оставшаяся длина сообщения: укажите, сколько байт осталось в этом сообщении.
  3. Информация заголовка сообщения переменной длины: некоторая информация, которая может быть определена заранее.,новостиID、логотип、Темы и тому подобное. Конечно, вам не обязательно иметь эту часть.
  4. Информационная часть полезной нагрузки переменной длины: фактическая информация о данных сообщения.

2. В чем разница между MQTT и MQ?

Шаблон публикации/подписки отделяет отношения между клиентами, публикующими сообщения, и клиентами, подписывающимися на сообщения.,Это означает, что издатель иподписчик Никакого прямого соединения между。в этом режиме,Требуется только одно промежуточное программное обеспечение для сообщений(通常даMQTTактерское мастерство),издатель иподписчик Нет необходимости знать друг друга。

那听着Сразу像даMQах,MQTTВ чем разница между ним и очередью сообщений??

Вот и все,Упоминалось только сейчас,MQTTдана основе发布/Типовое соглашение о подписке。

MQда具体的实现,Ориентирован на службы приложений,Конкретная реализация проблем связи со службами приложений.

MQон можетMQTTосуществлять,Это не обязательно должно быть правильноMQTTосуществлять。MQЭтот продукт прикладного уровня,Просто выполните соответствующие функции,Нет необходимости следоватьMQTTпротокол来进行开发。

Посмотрите на нас нижеJavaпрограммист,общийMQда否实现了MQTT

  • RabbitMq:на основеAMQPпротокол,Но его также можно поддерживать в виде плагинов.MQTT
  • ActiveMQ:поддерживатьMQTT
  • Kafka:不поддерживать
  • RocketMq:不поддерживать

再列举一下на основеMQTTТехнология внедрения

  • Mosquitto:Открытый исходный код
  • EMQX:Открытый исходный код,изучаю это

3. Как выбрать

Так скажите мне, как выбрать эти технические продукты для реализации?

Это очень просто: все зависит от того, что вы делаете.

Когда разработанный продукт находится в слабой сетевой среде,И характер сообщения в реальном времени,Не так уж и высоко,Сразу选EMQX即可

为啥不选RabbitMqШерстяная ткань,Основная причина в том, что это касается уровня обслуживания приложений.,Например, если есть большое количество заказов, которые необходимо доставить.,Звонок на платформу доставки

Этот бизнес-сценарий предъявляет высокие требования к сетевой среде, поэтому сообщения не могут быть потеряны, а во-вторых, он выдерживает давление.

такEMQXЭта небольшая реализация,В основном для межмашинной связи

я тоже учусьEMQX,Позже я поделюсь с вами своим опытом.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose