使用mqtt服务,有办法支持事务吗?就是在消费一条消息的时候,我要处理完整个事务之后才提交对这条消息的消费,如果处理事务过程中崩溃了,下次还能继续消费这条消息,不会丢失消息。
处理成功ACK消息(服务端删除消息不重推),其他不主动ACK的场景服务端都会重推 处理成功ACK消息(服务端删除消息不重推),其他不主动ACK的场景服务端都会重推不能指定加密算法。此回答整理自钉钉群“阿里云 微消息队列 MQTT产品咨询群”
如果您的云端应用需要使用云消息队列 RocketMQ 版产品的某些功能,例如顺序消息特性、事务消息特性等,您可以通过消息流入或流出规则将云消息队列 MQTT 版和云消息队列 RocketMQ 版数据进行流转。本文介绍如何将云消息队列 RocketMQ 版产品的数据导入云消息队列 MQTT 版。
参考文档https://help.aliyun.com/zh/apsaramq-for-mqtt/mqtt-upgraded/use-cases/use-apsaramq-for-mqtt-sdk-for-java-to-subscribe-to-messages-from-another-service?spm=a2c4g.11186623.0.i9
在MQTT中,通过设置消息质量为QoS 2,可以确保消息只被接收一次,同时在发送者和接收者之间建立了一个报文握手过程。如果在这个过程中发生了故障导致事务未能完成,接收者不会标记消息为已接收,而是会等待重新发送的消息。这种机制保证了在处理事务过程中即使发生崩溃,也不会丢失消息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/