MQTT 库 MQTT 代理

要在应用程序中使用 MQTT,我们有各种可用于不同编程语言的库。

MQTT 库

语言 描述
Eclipse Paho C,C++,Java,Javascript,Python,Go,C# Paho 客户端是最受欢迎的客户端库实现之一。
Fusesource MQTT 客户端 Java Fusesource MQTT 客户端是一个 Java MQTT 客户端,具有 3 种不同的 API 样式:Blocking,Future-based 和 Callback-based。
MQTT.js 使用 Javascript MQTT.js 是 Node.js 和 Web 应用程序的 MQTT 客户端库,可作为 npm 模块使用。
红宝石 MQTT 红宝石 ruby-mqtt 是一个可用作 Ruby gem 的 MQTT 客户端。它不支持 QoS> 0。

MQTT 经纪人

代理主要负责接收所有消息(代理就像消息服务器),过滤它们,决定谁对它感兴趣,然后将消息发送给所有订阅的客户端。MQTT Broker 实现:下表显示了一些最流行的开源和商业代理实现。

经纪人______ 描述
Apache ActiveMQ ActiveMQ 是一个开源的多协议消息代理,其核心是围绕 JMS 编写的。它支持 MQTT 并通过 JMS 映射 MQTT 语义。
mosquitto
兔子 MQ RabbitMQ 是一个可扩展的开源消息队列实现,用 Erlang 编写。它是一个 AMQP 消息代理,但有一个 MQTT 插件可用。不支持所有 MQTT 功能(例如 QoS 2)。
HiveMQ HiveMQ 是一个可扩展的高性能 MQTT 代理,适用于关键任务部署。它完全支持 MQTT 3.1 和 MQTT 3.1.1,并具有 websockets,集群和 Java 开发人员的开源插件系统等功能。
WebsphereMQ / IBM MQ Websphere MQ 是 IBM 的商业消息中间件。完全支持 MQTT。