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。 |