物联网 IOT 场景下 MQ 的技术选型

2022-02-11 15:26:23 +08:00
 Geekerstar

主语言 Java ,目前需求是后台对接数量众多的硬件终端,需要双向通信(心跳,数据交互),因此就涉及到了相关技术选型。

目前系统已有 RocketMQ ,因此想尽可能用它来实现,减少中间件引入,避免增加维护成本,但是看到有文章说 RocketMQ 不适合该场景。

备选有 MQTT 、Netty 。

网上一般都是推荐 MQTT ,请问各位大佬有没有什么好的建议呢?

2518 次点击
所在节点    物联网
11 条回复
BingoXuan
2022-02-11 15:28:47 +08:00
mineralsalt
2022-02-11 15:32:53 +08:00
我就是搞这个的, 我们对接了大量的自动售货机, 智能冰箱等, 用的就是 MQTT 协议, 挺好用的, 自己搭建也方便, 阿里云腾讯云上也有现成的服务可以买
masterclock
2022-02-11 15:38:29 +08:00
MQTT

iot 设备,几乎不存在其他选项,如果考虑其他选项,“再想想”*100
Geekerstar
2022-02-11 15:44:02 +08:00
@mineralsalt 我看 MQTT 有多个版本,MQTT 5.0 、MQTT 3.1.1 和 MQTT 3.1 协议,请问这个版本选择有没有什么需要注意的呢?选最新 5.0 有没有什么坑呢?
meteor957
2022-02-11 16:25:55 +08:00
mqtt
youngce
2022-02-11 17:57:43 +08:00
MQTT 严格的属于通信协议,服务端需要自建或者云服务,自建比如 EMQX 支持 MQTT 转到 KAFKA 、RocketMQ 这些中间件。

MQTT 云服务据了解,腾讯云、电信云 kafka 、移动云使用 pulsar 。

具体当时我们当时嵌入式设备种类太多需要兼容的通讯协议也很多,自建的 mqtt 对接的是 kafka ,使用 NB-iot 协议走移动云的使用的 pulsar 。
Geekerstar
2022-02-11 18:02:56 +08:00
@youngce 感谢回复,目前想用 emqx 开源的,目前设备量不超过 500 ,这种量级可以么?
Bijiabo
2022-02-11 18:22:56 +08:00
设备量 500 太少了,EMQ X 肯定满足需求。
置于 MQTT 协议的选择,取决于设备端的特性和支持程度,不同的设备类型、芯片原厂 /方案商提供的 MQTT SDK 会有一些差异,或者你们同事自己移植,与他们讨论一下吧。
freeznet
2022-02-11 18:42:31 +08:00
推一下 Pulsar ,物联网场景 MQTT 可以看一下 MoP https://github.com/streamnative/mop
mineralsalt
2022-02-11 19:05:16 +08:00
@Geekerstar 才 500, 你说数量众多, 我还以为最少几百万设备呢
Geekerstar
2022-02-11 22:14:57 +08:00
@Bijiabo OK ,感谢回复

@freeznet 好,以前听过,没用过,我去瞧瞧

@mineralsalt 哈哈,第一阶段大概这么多,后面看业务会增加

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833221

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX