RocketMQ
文章平均质量分 56
RocketMQ学习
学而不思则忘
一切都可以
展开
-
RocketMQ的事务消息
1. 使用场景在淘宝购物车下单时,涉及到购物车系统和交易系统,这两个系统之间的数据最终一致性可以通过分布式事务消息的异步处理实现。在这种场景下,交易系统是最为核心的系统,需要最大限度地保证下单成功。而购物车系统只需要订阅消息队列RocketMQ版的交易订单消息,做相应的业务处理,即可保证最终的数据一致性。2. 执行流程事务消息发送步骤如下:生产者将半事务消息发送至消息队列RocketMQ服务端。服务端将消息持久化成功之后,向生产者返回Ack确认消息已经发送成功,此时消息为半事务消息。生产者开原创 2021-12-19 22:46:17 · 851 阅读 · 1 评论 -
消息过滤——RocketMQ
在大多数情况下,TAG是一个简单而有用的设计,其可以来选择您想要的消息。例如:DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("CID_EXAMPLE");consumer.subscribe("TOPIC", "TAGA || TAGB || TAGC");消费者将接收包含TAGA或TAGB或TAGC的消息。但是限制是一个消息只能有一个标签,这对于复杂的场景可能不起作用。在这种情况下,可以使用SQL表达式筛选消息。SQL特性可以原创 2021-12-06 22:29:51 · 191 阅读 · 0 评论 -
批量发送消息及消息列表分割
批量发送消息能显著提高传递小消息的性能。限制是这些批量消息应该有相同的topic,相同的waitStoreMsgOK,而且不能是延时消息。此外,这一批消息的总大小不应超过4MB。发送批量消息public class BatchProducer { public static void main(String[] args) throws Exception { DefaultMQProducer producer = new DefaultMQProducer("batch_.原创 2021-12-06 22:28:49 · 461 阅读 · 0 评论 -
延时发送消息
发送延时消息public class ScheduledMessageProducer { public static void main(String[] args) throws Exception { DefaultMQProducer producer = new DefaultMQProducer("delay_producer_group"); producer.setNamesrvAddr("106.15.42.999:9876");原创 2021-12-06 22:28:14 · 504 阅读 · 0 评论 -
顺序消费消息
概要消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。顺序消费的原理解析,在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);而消费消息的时候从多个queue上拉取消息,这种情况发送和消费是不能保证顺序。但是如果控制发送的顺序消息只依次发送到同一个queue中,消费的时候只从这个queue上依次拉取,则就保证了顺序。当发送和消费参与的queue只有一个,则是全局有序;如果多个que原创 2021-12-05 23:29:42 · 649 阅读 · 0 评论 -
消息发送与消费
本文介绍了RocketMQ发送消息的三种方式:发送同步消息、发送异步消息、发送单向消息1. 发送同步消息这种可靠性同步地发送方式使用的比较广泛,比如:重要的消息通知,短信通知。public class SyncProducer { public static void main(String[] args) throws Exception { // 实例化消息生产者Producer DefaultMQProducer producer = new DefaultMQPro转载 2021-12-05 23:28:30 · 97 阅读 · 0 评论