关于 MQTT 协议有几个问题想请教

5 天前
 majianglin
问题 1:
我们物联网项目想使用 MQTT 作为通讯协议
方案 1: 使用阿里云 云消息队列 MQTT 版,Java 服务器接入消息队列
方案 2:Java 服务器自己实现 MQTT 协议
这两个方案你们怎么选择的?有哪些优劣? 有更好的方案吗?

问题 2:
目前市区内的 4G 物联网网络是否稳定?是否需要加上短信通知?

问题 3:
Java 有哪些好用的 MQTT 开源框架做应用开发,最好是开箱即用,和业务解耦,业务程序员最好不关心协议实现
3964 次点击
所在节点    程序员
53 条回复
me1onsoda
5 天前
Java 自研的话 vertx 挺方便的。如果没有研发能力最好还是买个云服务 emqx 之类的,拿别人开源的不好填坑
majianglin
5 天前
@me1onsoda 多谢了

vertx 有点小众,还是想用 spring 全家桶。云服务这块我再研究下
typ1805
5 天前
我们物联网项目用的是 ActiveMQ 的 MQTT 传输数据,springboot 从 MQ 订阅数据做处理的
tool2dx
5 天前
MQTT 算是相对简单的 TCP 协议了,可以考虑自己写一下,代码量并不多。
LLaMA2
5 天前
server https://github.com/eclipse/mosquitto

java client https://github.com/eclipse/paho.mqtt.java

注意协议的各版本之间的差异.cs 各版本是否匹配.各类服务端实现对 qos 的支持情况

综合而言,看项目,项目重要那就买买买,不要试图自研,自己玩或者项目甲方对 mqtt 部分功能有一定的容忍度,那就开源跑起来.


例如一些项目中做某个报表定时推送,使用 mqtt 推送,同时也有主动 http 请求,甲方不是强烈要求送达率的话,仿真各也有 http 兜底,那就开源搞起来

如果是某些物联网设备使用 mqtt 交互上报关键数据,那还是买买买,出了情况方便把锅顺利的抡起来
lancelock
5 天前
为什么除了买就是自己实现,搭个开源的 broker 不行吗
zzjcool
5 天前
你们团队有专人维护,并且技术上有信心解决就自建,不然还是上云

客户端的话看看 emq 的文档,我感觉 emq 在 mqtt 领域还是领先的
StinkyTofus
5 天前
买一台云服务器自己搭建 EMQX , 特别简单好用, 我觉得比阿里云的后台配置 MQTT 好用多了, 而且阿里云的 MQTT 经常出问题。
zouri
5 天前
问题一:mqtt broker 服务器可以使用开源搭建,目前这两个用户较多 emqx mosquitto
问题二:我个人经验目前 4G 物联网足够稳定
问题三:EclipsePaho 是一个开源项目为多种语言实现了 MQTT 客户端库,可以参考使用 https://eclipse.dev/paho/index.php?page=downloads.php
xytest
5 天前
你的需求和我最近带的项目一样。(我们有大批量的设备走 485 接口,然后通过轮询采集后通过物联网走 mqtt 上报)
问题一:我们没有考虑自建,因为感觉后期维护成本有点高。在对比下选择了腾讯云的物联网平台原因:比阿里成本低,实现就是设备推送到腾讯云物联网平台,平台在接收消息后通过数据流传到服务器。
问题二:网络稳定这个问题只要你信号覆盖情况下都没有问题,应该考虑的数据端的数据采集稳定,例如多设备轮询,在遇到报错的时候,是否重新查询。
问题三:开源平台当时也试过几个还是出现了问题一的情况就是维护成本高。
flmn
5 天前
有开源的 emqx
glitterzhong
5 天前
docker 直接搭建 emqx 就行
majianglin
5 天前
多谢楼上各位的答疑解惑,学到了很多
GooMS
5 天前
搭起来还是不麻烦的,主要看预算
halov
5 天前
MQTT 还是建议使用 EMQX 搭建 , 我们公司 使用消息中间件 同时 充当 MQTT 服务器 坑挺多的
fffq
5 天前
直接使用 emqx 吧,
mosfet
5 天前
thingsboard+emqx
开发都省了
vfs
5 天前
除非你的时间预算很充分, 不然不要自己写 MQTT 服务器端。 我正在实现一个 MQTT Broker (公司项目), 这个协议 RFC 很简单, 真正做起来, 细节很多。
DonaldY
5 天前
netty 里就有,直接使用。
andyxq
5 天前
作为从业者,我觉得 MQTT Broker 实现起来难度不算太大,但是做到较好的性能需要投入很多的精力。我测试过一些开源的或商业的 Broker, EMQX 是算是性能比较好的,开放的插件也比较多,如果没有足够的研发能力建议直接用 EMQX.
市区用 4G 基本没问题,但是远离市区信号不好的地方可能会有频繁上下线的问题。

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

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

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

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

© 2021 V2EX