【问题标题】:Implementing an MQTT broker实现 MQTT 代理
【发布时间】:2015-06-12 18:27:26
【问题描述】:

我正在尝试在 Google Compute Engine 之上实现 Java MQTT 代理。我的代理将用于处理来自物联网设备的大量订阅和发布消息。因此,我计划使用自动缩放功能来满足我的负载需求。

我不确定我应该使用哪个基于开源 Java 的 MQTT 代理来开始我的实现。我希望我能得到一些建议。我正在专门寻找一个支持持久订阅者、保留消息、通配符等功能的开源代理。

另外,由于 MQTT 是基于 TCP 构建的,我是否可以从头开始构建自己的代理,使用 Java 套接字并侦听端口?我假设答案是否定的,但我想澄清一下。

【问题讨论】:

  • 你最终使用了哪个代理?

标签: java mqtt


【解决方案1】:

这里有一个可用的代理实现列表:

https://github.com/mqtt/mqtt.github.io/wiki/servers

它应该是最新的,但可能不包括绝对所有的实现。一些基于 Java 的代理包括:

  • HiveMQ
  • 莫奎特
  • ActiveMQ

它们并不都是开源的,但有几个

你应该没有理由不能实现自己的代理,协议规范在这里:

http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html

【讨论】:

  • 我稍微修改了我的问题。我正在专门寻找一个支持通配符、持久订阅者等功能的开源代理。所有代理都支持这一点,还是取决于代理?这些功能是 MQTT 规范的一部分。
【解决方案2】:

还可以将 Mqtt 代理视为 vert.x 模块,如 this

对于第二个问题,答案是肯定的,舒尔。

但是为什么要重新发明轮子呢?

【讨论】:

  • 我稍微修改了我的问题。我正在特别寻找支持通配符、持久订阅者等功能的东西。是否所有代理都支持这一点,还是取决于代理?
猜你喜欢
  • 2018-07-06
  • 2018-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多