MQTT и Kafka|Интернет вещей, практика интеграции сообщений и потоковой передачи данных
MQTT и Kafka|Интернет вещей, практика интеграции сообщений и потоковой передачи данных

Как MQTT работает с Кафкой?

MQTT (Message Queuing Telemetry Transport) — это облегченный протокол передачи сообщений, предназначенный для связи устройств в ограниченных сетевых средах. Apache Kafka — это платформа распределенной обработки потоков, предназначенная для обработки крупномасштабных потоков данных в реальном времени.

Kafka и MQTT — это взаимодополняющие технологии, обеспечивающие сквозную интеграцию данных Интернета вещей. Совместное использование Kafka и MQTT позволяет предприятиям создать мощную архитектуру Интернета вещей, обеспечивающую стабильные соединения и эффективную передачу данных между устройствами и платформами Интернета вещей. В то же время он также может поддерживать обработку и анализ данных с высокой пропускной способностью в реальном времени во всей системе Интернета вещей.

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

Какие проблемы Интернета вещей могут решить Kafka и MQTT?

При проектировании архитектуры платформы IoT необходимо решить следующие проблемы:

  • Связь и киберустойчивость:в каком-то ключе Интернет вещейв сцене,Например, подключенные автомобили,Для отправки данных «Воля» на платформу проживания требуется подключение к сети. Архитектура должна быть способна справляться с различными сетевыми условиями, такими как нестабильные сетевые соединения и задержки в сети.
  • Масштабируемость:Чтобы справиться с растущим числом устройств,Архитектура должна иметь хорошую масштабируемость,Способен обрабатывать растущие объемы Интернета. Вещи Большой объем данных, генерируемых устройством.
  • Пропускная способность сообщений:Интернет Устройства «Вещи» генерируют большие объемы данных в режиме реального времени, например, показания датчиков, информацию о местоположении и т. д. Архитектура платформы должна поддерживать высокие способность сообщений, чтобы гарантировать, что все данные могут быть эффективно собраны, обработаны и распределены по соответствующим компонентам.
  • хранение данных:Интернет Вещи Устройство непрерывно генерирует потоки данных и требует эффективного хранения. программа управления данными.

Зачем вам нужно интегрировать MQTT и Kafka в вашу архитектуру Интернета вещей?

Как надежная платформа потоковой обработки данных, Kafka может эффективно способствовать обмену данными между корпоративными системами, но в сценариях Интернета вещей у нее есть некоторые недостатки:

  • ненадежное соединение:Kafka Клиент должен быть стабильным IP Соединение, что полезно для Интернета, работающего в нестабильных мобильных сетях. Оборудование вещей – это вызов. Подключения к этим сетям очень нестабильны и могут привести к Kafka Требуемая постоянная связь прерывается.
  • Сложность клиента и ресурсоемкость:Kafka Клиенты известны своей сложностью и потреблением ресурсов. Это полезно для небольших компаний с ограниченными ресурсами. Вещи устройств являются проблемой, потому что работа на этих устройствах Kafka Клиент может быть нереалистичным или неэффективным.
  • Доступна тема:Kafka Существуют некоторые ограничения при работе с большим количеством тем. Для Интернета Вещи Это может быть проблемой, поскольку они могут затрагивать множество разных тем, и Kafka Архитектура может не эффективно адаптироваться к этой ситуации, особенно если задействовано большое количество устройств и каждое устройство имеет несколько тем.

Благодаря интеграции MQTT и Kafka можно преодолеть многие ограничения Kafka при подключении устройств IoT:

  • надежное соединение:MQTT предназначен для работы в нестабильных сетевых средах, поэтому становится Интернет Вещи Надежный протокол передачи сообщений между устройствами.
  • легкий клиент:MQTT Клиент спроектирован так, чтобы быть легким и идеально подходит для приложений с ограниченными ресурсами. вещейоборудованиеиспользовать。
  • Массивные расширения тем:MQTT Отлично справляется с большим количеством бизнес-тем, подходит для Интернета с большим количеством тем. Платформа вещей – это самый идеальный выбор. Можно ввести MQTT Воля Собрано и нанесено на карту большое количество тем, куда приезжать Kakfa В теме реализовать Интернет Вещи Агрегация и обработка данных.

Сравнение нескольких возможных решений интеграции MQTT-Kafka

Существует несколько вариантов интеграции MQTT и Kafka в платформу IoT. Каждый вариант имеет свои плюсы, минусы и факторы, которые следует учитывать. Давайте посмотрим на некоторые часто используемые решения для интеграции MQTT+Kafka.

Интеграция данных EMQX Kafka

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

Эта интеграция позволяет создавать мосты данных как в роли производителя (отправка сообщений в Kafka), так и в роли потребителя (получение сообщений от Kafka). EMQX позволяет пользователям устанавливать мосты данных в любой из этих двух ролей. EMQX имеет возможности двунаправленной передачи данных, что обеспечивает большую гибкость при проектировании архитектуры. Кроме того, он отличается низкой задержкой и высокой пропускной способностью, обеспечивая эффективность и надежность операций мостового соединения данных.

Конфлюэнтный MQTT-брокер

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

В настоящее время это решение поддерживает только MQTT версии 3.1.1, и производительность подключения клиента MQTT может влиять на пропускную способность данных.

Индивидуальная разработка MQTT Broker и Kafka с открытым исходным кодом

Пользователи могут использовать MQTT Broker с открытым исходным кодом для разработки собственных служб моста для соединения MQTT и Kafka. Эта служба моста подписывается на данные от MQTT Broker через клиент MQTT и использует API Kafka Producer для отправки данных в Kafka.

Это решение требует от пользователей самостоятельно разрабатывать и поддерживать услуги моста, а также учитывать вопросы надежности и масштабируемости.

Интегрируйте данные MQTT в Kafka с помощью EMQX

EMQX, как брокер MQTT с широкими возможностями масштабирования, предоставляет мощные функции для платформы IoT. Его возможности интеграции данных обеспечивают простую и эффективную двустороннюю передачу данных MQTT с помощью Apache Kafka.

Воля MQTT интеграция данныхприезжать Kafka
Воля MQTT интеграция данныхприезжать Kafka

EMQX поддерживает массовые подключения устройств в сочетании с мощной высокой пропускной способностью и возможностями постоянной обработки данных Kafka для создания идеальной инфраструктуры данных для Интернета вещей.

EMQX Предоставляется следующее MQTT приезжать Kafka функция

  • Двустороннее соединение:EMQX Устройство может не только MQTT Пакетная пересылка сообщенийприезжать Кафка, вы также можете подписаться из серверной системы. Kafka Отправить сообщение и отправить сообщение Подключенный Интернет Вещи клиента.
  • гибкий MQTT приезжать Kafka картографирование тем:EMQX Поддерживает разнообразные картографирования темметоды, такие как «один-к-одному», «один-ко-многим», «многие-ко-многим» и т. д., а также поддерживает MQTT Фильтр тем (подстановочный знак).
  • Производитель EMQX KafkaПоддержка синхронизации/Асинхронный режим записи,Задержку и пропускную способность можно гибко балансировать в соответствии с различными сценариями.
  • Индикаторы реального времени,Например, общее количество сообщений,Количество успешных/неудачных доставок,скорость сообщений и т. д.,Можети SQL Правила в сочетании сиспользовать для обмена сообщениями в Воляприезжать Kafka 或оборудование之前进行数据的提取、фильтр、Обогащение и преобразование и другие операции.

Примеры сценариев применения: MQTT и Kafka расширяют возможности подключенных автомобилей и Интернета транспортных средств

Архитектура MQTT + Kafka подходит для различных платформ IoT в разных отраслях, особенно в области подключенных автомобилей и Интернета транспортных средств.

MQTT и Kafka расширяют возможности подключенных автомобилей и Интернета транспортных средств
MQTT и Kafka расширяют возможности подключенных автомобилей и Интернета транспортных средств

Ниже приведены основные сценарии применения этой архитектуры:

  • Информационная система автомобиля и анализ данных автомобиля:MQTT + Kafka Архитектура обеспечивает доступ к облаку, потоковую передачу и анализ больших объемов данных о транспортных средствах в режиме реального времени, таких как показания датчиков, данные GPS. Данные о местонахождении, расходе топлива и поведении вождения и т. д. Эти данные могут быть использованы для мониторинга производительности транспортных средств. обслуживание, управление автопарком и повышение общей операционной эффективности.
  • Интеллектуальное управление трафиком:проходитьинтегрированный MQTT и Kafka может получать и обрабатывать данные из различных источников трафика, таких как подключенные автомобили, датчики движения и инфраструктура. Это помогает развивать Интеллектуальное управление трафикомсистема,Мониторинг дорожного движения в режиме реального времени, Обнаружение перегрузок、Оптимизация маршрута и интеллектуальное управление сигналами светофора.
  • удаленная диагностика:MQTT + Kafka Архитектура поддерживает высокопроизводительную передачу данных для подключенных автомобилей. его можно использовать для удаленной диагностикаи Устранение неполадок для профилактического обслуживания и быстрого решения проблем.
  • Энергоэффективность и воздействие на окружающую среду:MQTT + Kafka 架构使得网联汽车Может以и智能电网системаи Платформа управления энергопотреблением для двустороннего обмена данными。Этот сценарий применения включает мониторинг энергопотребления в реальном времени.,Внедрить механизмы реагирования на спрос,и оптимизация стратегий зарядки электромобилей.
  • Прогностическое обслуживание:MQTT + Kafka Архитектура обеспечивает непрерывное отслеживание данных о состоянии и производительности автомобиля. Этот сценарий применения включает высокопроизводительный сбор данных о транспортных средствах в режиме реального времени, обнаружение аномалий и прогнозирование. алгоритм обслуживания. Владельцы автомобилей могут вовремя обнаружить потенциальные проблемы и запланировать техническое обслуживание.

Заключение

MQTT + Kafka Архитектура хорошо подходит для сценариев приложений, требующих сбора данных в реальном времени, масштабируемости, надежности и возможностей интеграции с Интернетом вещей. Он обеспечивает плавную передачу данных, эффективную связь и инновационные приложения, такие как различные функции и услуги в экосистеме подключенных автомобилей. Следовательно, MQTT и Kafka Сочетание идеального Интернета Вещи Архитектурные решения, которые позволяют Интернет Вещи Бесшовная сквозная интеграция между устройствами и облаками и обеспечивает надежность двусторонней связи.

Заявление об авторских правах: эта статья принадлежит EMQ. При перепечатке указывайте источник.

Исходная ссылка:https://www.emqx.com/zh/blog/mqtt-and-kafka

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