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.
EMQX поддерживает массовые подключения устройств в сочетании с мощной высокой пропускной способностью и возможностями постоянной обработки данных Kafka для создания идеальной инфраструктуры данных для Интернета вещей.
Двустороннее соединение:EMQX Устройство может не только MQTT Пакетная пересылка сообщенийприезжать Кафка, вы также можете подписаться из серверной системы. Kafka Отправить сообщение и отправить сообщение Подключенный Интернет Вещи клиента.
гибкий MQTT приезжать Kafka картографирование тем:EMQX Поддерживает разнообразные картографирования темметоды, такие как «один-к-одному», «один-ко-многим», «многие-ко-многим» и т. д., а также поддерживает MQTT Фильтр тем (подстановочный знак).
Производитель EMQX KafkaПоддержка синхронизации/Асинхронный режим записи,Задержку и пропускную способность можно гибко балансировать в соответствии с различными сценариями.
Индикаторы реального времени,Например, общее количество сообщений,Количество успешных/неудачных доставок,скорость сообщений и т. д.,Можети SQL Правила в сочетании сиспользовать для обмена сообщениями в Воляприезжать Kafka 或оборудование之前进行数据的提取、фильтр、Обогащение и преобразование и другие операции.
Примеры сценариев применения: MQTT и Kafka расширяют возможности подключенных автомобилей и Интернета транспортных средств
Архитектура MQTT + Kafka подходит для различных платформ IoT в разных отраслях, особенно в области подключенных автомобилей и Интернета транспортных средств.
Ниже приведены основные сценарии применения этой архитектуры:
Информационная система автомобиля и анализ данных автомобиля:MQTT + Kafka Архитектура обеспечивает доступ к облаку, потоковую передачу и анализ больших объемов данных о транспортных средствах в режиме реального времени, таких как показания датчиков, данные GPS. Данные о местонахождении, расходе топлива и поведении вождения и т. д. Эти данные могут быть использованы для мониторинга производительности транспортных средств. обслуживание, управление автопарком и повышение общей операционной эффективности.
Интеллектуальное управление трафиком:проходитьинтегрированный MQTT и Kafka может получать и обрабатывать данные из различных источников трафика, таких как подключенные автомобили, датчики движения и инфраструктура. Это помогает развивать Интеллектуальное управление трафикомсистема,Мониторинг дорожного движения в режиме реального времени, Обнаружение перегрузок、Оптимизация маршрута и интеллектуальное управление сигналами светофора.
удаленная диагностика:MQTT + Kafka Архитектура поддерживает высокопроизводительную передачу данных для подключенных автомобилей. его можно использовать для удаленной диагностикаи Устранение неполадок для профилактического обслуживания и быстрого решения проблем.
Энергоэффективность и воздействие на окружающую среду:MQTT + Kafka 架构使得网联汽车Может以и智能电网системаи Платформа управления энергопотреблением для двустороннего обмена данными。Этот сценарий применения включает мониторинг энергопотребления в реальном времени.,Внедрить механизмы реагирования на спрос,и оптимизация стратегий зарядки электромобилей.
Прогностическое обслуживание:MQTT + Kafka Архитектура обеспечивает непрерывное отслеживание данных о состоянии и производительности автомобиля. Этот сценарий применения включает высокопроизводительный сбор данных о транспортных средствах в режиме реального времени, обнаружение аномалий и прогнозирование. алгоритм обслуживания. Владельцы автомобилей могут вовремя обнаружить потенциальные проблемы и запланировать техническое обслуживание.
Заключение
MQTT + Kafka Архитектура хорошо подходит для сценариев приложений, требующих сбора данных в реальном времени, масштабируемости, надежности и возможностей интеграции с Интернетом вещей. Он обеспечивает плавную передачу данных, эффективную связь и инновационные приложения, такие как различные функции и услуги в экосистеме подключенных автомобилей. Следовательно, MQTT и Kafka Сочетание идеального Интернета Вещи Архитектурные решения, которые позволяют Интернет Вещи Бесшовная сквозная интеграция между устройствами и облаками и обеспечивает надежность двусторонней связи.
Заявление об авторских правах: эта статья принадлежит EMQ. При перепечатке указывайте источник.