MQTT 正确的使用姿势是怎样的?

2017-08-17 23:30:38 +08:00
 icekingcy

请教 MQTT 的正确使用姿势

刚接触 MQTT

1、目前想用 EMQ 做 Broker ;

2、Raspberry Pi 采集数据通过 MQTT 协议发送过来

3、用一个 Vertx MQTT Client 订阅通配符主题 # ,收到后将数据做异步 Mysql 存储

4、同时在 3 中开启一个 WebSocket 服务器,给连入的手机转发最新的 消息 做显示,并将手机发出的控制消息发给 Broker,从而发给 Raspberry Pi (订阅了控制消息主题)

问题是如上中的 3、4 步骤,是这样使用的么? 先谢谢大家~

9087 次点击
所在节点    问与答
13 条回复
wekw
2017-08-18 01:48:07 +08:00
楼主是前端工程师转行的嘛……
wekw
2017-08-18 01:48:37 +08:00
这是不求最好但求最复杂的技术架构呀…
icekingcy
2017-08-18 10:21:55 +08:00
@wekw 请问有推荐的吗?请教我
wekw
2017-08-18 10:48:39 +08:00
websocket 没必要,可以统一使用 MQTT 传输所有数据。
icekingcy
2017-08-18 11:19:15 +08:00
@wekw 其实我更想问的是 3 中。我需要对所有收到的消息做存储和逻辑处理,是单独开个 MQTT CLIENT 订阅所有消息吗? 我看 EMQ 似乎是一个比较成熟的 BROKER,在手册中似乎没有看到嵌入到别的系统或集成到别的系统中的说明。

也就是说 EMQ 没法提供 一个比较好的处理业务逻辑的实现,只是作为数据的收发处理,用 MQTT 协议保证数据的可靠性(错误理解的话劳烦指正)。所以才想的是通过另外一个服务端( Websocket 协议的,保证多平台适用)既提供业务逻辑的处理,又维护管理着着客户端 App 网络连接。除非就是自己用 Vertx 实现一个 MQTT Server,但是工作量又比较大 重复造轮子了,EMQ 还是有很多拓展可以用的,还有 web gui 比较方便。
icekingcy
2017-08-18 11:49:05 +08:00
MrgHOST
2017-08-19 21:37:27 +08:00
mark
icekingcy
2017-08-20 12:05:08 +08:00
@MrgHOST 没人回答…
xrlin
2018-01-18 13:35:05 +08:00
@icekingcy 后来你用了什么方案?我也是对如何对消息入库( redis/postgresql )的方案有疑问,暂时没想到比较好的方案。
icekingcy
2018-01-19 02:41:26 +08:00
@xrlin 后来… 项目放下了… 这几天忙完杂事 就继续研究的 有进展我尽量在这说吧
ghostsf
2019-12-02 17:09:12 +08:00
@icekingcy EMQ 是个消息中间件啊,你相当于是要做一步数据转存,那就直接订阅根 topic,把所有数据都转存到数据库就行了(比如 InfluxDB 之类的时序数据库)。数据展示用接口从数据库实时获取就是了。另外手机控制还是通过 EMQ。 ! 好像是坟贴
Adaocean
2021-03-17 10:25:06 +08:00
@icekingcy 欢迎在调试测试时使用 MQTT X https://github.com/emqx/MQTTX/issues
cqcsdzmt
2021-11-15 16:30:48 +08:00
@ghostsf 对,EMQ 当成消息中间件使用。就是不知道有没有成熟的方案做登录鉴权和运行设备订阅发布哪些 topic

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

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

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

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

© 2021 V2EX