首页 新闻 搜索 专区 学院

MQTT适合做服务器-服务器的数据同步接口吗

0
悬赏园豆:20 [已解决问题] 解决于 2021-07-12 09:33

我知道MQTT是基于TCP开发的更上层的协议,算是对TCP通讯的一种封装,MQTT是很不错的物联网通讯方式。
我现在有个对N个第三方服务器提供实时数据同步的需求,单个客户数据量大概每2秒3K-64K,原先是打算用Socket通讯,这就要考虑到帧结构以及TCP的拆包粘包状态维护等一大堆事情,而且客户也要根据协议文档进行特定开发,感觉很麻烦,后来想到MQTT,是不是能直接用它,这样就不用重复造轮子了,但是呢,我这边就是两个服务器连接上来后就开始传输数据,而MQTT是基于发布/订阅模式的,如果使用MQTT,我是不是需要先构建一个代理服务器,然后让客户订阅指定主题,最后在我的后台发布数据到该主题,感觉事情给搞的更复杂了,由于对MQTT不是很了解,所以现在有点困惑,求大神解惑

WmW的主页 WmW | 菜鸟二级 | 园豆:280
提问于:2021-07-01 10:02
< >
分享
最佳答案
0

整个MQ挺好的(rabbitmq, kafka, MQTT(https://github.com/mqtt/mqtt.org/wiki/servers), 各类云的MQ产品),

  • 这样你的第三方程序都有现成的SDK可以被使用.
  • 解耦了你的应用程序和第三方要通知的程序
  • 成熟的MQ产品都有可靠的高可用方案
收获园豆:15
czd890 | 专家六级 |园豆:12604 | 2021-07-02 15:08
其他回答(2)
0

可以试试 EMQ X broker https://github.com/emqx/emqx

收获园豆:5
dudu | 园豆:36364 (高人七级) | 2021-07-01 10:10

你好,你知道怎么判断EMQ X或者mqtt订阅未通过的吗,假如我向broker订阅了一个非法的主题,代理服务器ACL未通过,那么客户端要如何知道它是未通过的啊,现在是订阅了如果未通过ACL,没有任何反馈,只是无法接收到数据

支持(0) 反对(0) WmW | 园豆:280 (菜鸟二级) | 2021-10-15 17:35
0

如果你是Java开发者可以考虑使用Netty,有.NET的移植版dotNetty https://github.com/Azure/DotNetty

骑着毛驴去纽约 | 园豆:95 (初学一级) | 2021-07-08 14:39
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册