RocketMQ生成订单后发出广播,下游消费时创建对应的作业任务,上游修改订单的时候发出修改广播,可重复修改,下游要按修改顺序串行变更。上游需要事务,下游需要顺序吗?
在您描述的场景中,上游在修改订单时发出广播消息,下游需要按照修改的顺序串行变更。此外,上游还需要支持事务操作。
对于上游修改订单时发出的广播消息,RocketMQ本身并不提供事务功能,但可以通过实现分布式事务模式来满足需求。您可以使用RocketMQ提供的事务消息机制,确保上游的订单修改和广播消息发送在一个事务中完成。
对于下游消费者端,需要按照广播消息的顺序进行处理,以确保顺序性。您可以使用RocketMQ的有序消费功能来实现这一点。有序消费功能允许您指定消息队列的顺序,并确保相同的队列和消费者组合始终按照相同的顺序进行消息消费。
需要注意的是,由于广播消息会被所有消费者接收到并处理,因此下游消费者在处理队列中的消息时,应该考虑并发处理和线程安全等问题。
总结起来,在上游进行订单修改时,可以使用RocketMQ的事务消息机制来确保事务的一致性,同时发送广播消息。而在下游消费者端,可以使用RocketMQ的有序消费功能来保证按照广播消息的顺序进行处理。】】
直接用顺序消息吧。 你保证消息顺序发出去了, 他保证顺序消费和最终一致。
——此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/