tongchenkeji 发表于:2023-5-2 8:06:580次点击 已关注取消关注 关注 私信 不需要消息持久化,只需要短时间的消息分发,可以只用mqtt吗?[阿里云消息队列MQ] 暂停朗读为您朗读 不需要消息持久化,只需要短时间的消息分发,可以只用mqtt吗? 「点点赞赏,手留余香」 赞赏 还没有人赞赏,快来当第一个赞赏的人吧! 海报 消息队列 MQ# 云消息队列 MQ1430
飞云觅宙AM 2023-11-28 0:15:52 2 MQTT实例本身并不提供消息数据持久化功能,消息数据持久化需要搭配后端的消息存储实例来使用。因此每一个阿里云MQTT实例都必须配套一个消息存储实例,即RocketMQ实例来提供消息数据持久化功能,因此他们之间可以说是消息互通的,即可用RocketMQ订阅的方式来消费用MQTT协议发布的消息,同理也可用 MQTT协议订阅的方式来消费RocketMQ发布的消息。 微消息队列MQTT基于MQTT协议实现,单个客户端的处理能力较弱。因此,微消息队列MQTT适用于拥有大量在线客户端(很多企业设备端过万,甚至上百万),但每个客户端消息较少的场景。 相比之下,消息队列RocketMQ是面向服务端的消息引擎,主要用于服务组件之间的解耦、异步通知、削峰填谷等,服务器规模较小(极少企业服务器规模过万),但需要大量的消息处理,吞吐量要求高。因此,消息队列RocketMQ适用于服务端进行大批量的数据处理和分析的场景。 由于物联网的环境是非常特别的,所以MQTT遵循以下设计原则: (1)精简,不添加可有可无的功能; (2)发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递; (3)允许用户动态创建主题,零运维成本; (4)把传输量降到最低以提高传输效率; (5)把低带宽、高延迟、不稳定的网络等因素考虑在内; (6)支持连续的会话控制; (7)理解客户端计算能力可能很低; (8)提供服务质量管理; (9)假设数据不可知,不强求传输数据的类型与格式,保持灵活性。 MQTT:即时通讯协议,主要用去物联网,轻量级,结构简单,传输快,不支持事务,没有持久化相关设计。适用于计算能力有限低带宽,网络不稳定的场景(RabbitMQ,ACTIVEMQ)
是的,此回答整理自钉群“阿里云 微消息队列 MQTT产品咨询群”
MQTT实例本身并不提供消息数据持久化功能,消息数据持久化需要搭配后端的消息存储实例来使用。因此每一个阿里云MQTT实例都必须配套一个消息存储实例,即RocketMQ实例来提供消息数据持久化功能,因此他们之间可以说是消息互通的,即可用RocketMQ订阅的方式来消费用MQTT协议发布的消息,同理也可用 MQTT协议订阅的方式来消费RocketMQ发布的消息。
微消息队列MQTT基于MQTT协议实现,单个客户端的处理能力较弱。因此,微消息队列MQTT适用于拥有大量在线客户端(很多企业设备端过万,甚至上百万),但每个客户端消息较少的场景。
相比之下,消息队列RocketMQ是面向服务端的消息引擎,主要用于服务组件之间的解耦、异步通知、削峰填谷等,服务器规模较小(极少企业服务器规模过万),但需要大量的消息处理,吞吐量要求高。因此,消息队列RocketMQ适用于服务端进行大批量的数据处理和分析的场景。
由于物联网的环境是非常特别的,所以MQTT遵循以下设计原则:
(1)精简,不添加可有可无的功能;
(2)发布/订阅(Pub/Sub)模式,方便消息在传感器之间传递;
(3)允许用户动态创建主题,零运维成本;
(4)把传输量降到最低以提高传输效率;
(5)把低带宽、高延迟、不稳定的网络等因素考虑在内;
(6)支持连续的会话控制;
(7)理解客户端计算能力可能很低;
(8)提供服务质量管理;
(9)假设数据不可知,不强求传输数据的类型与格式,保持灵活性。
MQTT:即时通讯协议,主要用去物联网,轻量级,结构简单,传输快,不支持事务,没有持久化相关设计。适用于计算能力有限低带宽,网络不稳定的场景(RabbitMQ,ACTIVEMQ)