对mqtt协议,及emqx,mosquitto的一点看法

最近接触到mqtt,虽然mqtt协议有它的好处,但是就大多数场合应用目标而言,mqtt把事情还是搞复杂了,包括那些基于此实现的产品emqx,mosquitto。。。

mqtt的要实现的目标,无外乎是推送pub消息,然后消费(sub)消息。

其实,如果在性能上,要求不是很严,那么可以通过任意语言,来实现此目的,比如用java:

1)在服务端初始化 Socket Server

建立HashMap,key为topic,value为针对每个topic建立的队列Queue变量。

2)  为每一个client连接建立,应答子线程

pub是往队列Queue里push;sub时,从queue里pull。

3)如果要同时pub和sub, 则用socket的双向通信机制,这个机制很简单、很完善,很好用。(这个当你用emqx做这个时,你会发现:同一用户,不能同时pub和sub)

---------------------

现在物联网的终端:

1)往往是有线电源供电:车上车子供电、船上船供电、管道附近管道拉电源。不要谈什么低功耗。低功耗的搞什么带移动电池的项目,有什么利润?谁去做?

2)具备一定的内存和硬盘(比如ARM机),并非以前的无内存无硬盘的弱单片机。对于发不出去的消息,把它保存成离线文件,等有网了,再发出去,就可以了。不需要搞什么:至多一次、至少一次 。。。

3)  4g网络很常见,带宽很充沛,不需要节省什么流量;物联卡办理很容易,马上5g也要普及呢!就连卫星网络,也不是想象的那么贵,在将来会和5g联通。

所以,一切都很好办。IBM的历史遗留,充满着学术味道!而IBM自己,也几乎从IT行业退出呢!

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>