随笔分类 - rockermq
摘要:概述 事务消息共有三种状态,提交状态、回滚状态、中间状态: TransactionStatus.CommitTransaction: 提交事务,它允许消费者消费此消息。 TransactionStatus.RollbackTransaction: 回滚事务,它代表该消息将被删除,不允许被消费。 Tr
阅读全文
摘要:过滤消息概述 在大多数情况下,TAG是一个简单而有用的设计,其可以来选择您想要的消息。例如: // 定义一个group1的消费者组 DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("group1"); // 订阅 TOPIC 主题
阅读全文
摘要:概述 批量发送消息能显著提高传递小消息的性能。限制是这些批量消息应该有相同的topic,相同的waitStoreMsgOK,而且不能是延时消息。此外,这一批消息的总大小不应超过4MB 发送批量消息 如果您每次只发送不超过4MB的消息,则很容易使用批处理,样例如下: String topic = "B
阅读全文
摘要:延迟消息 比如电商里,提交了一个订单就可以发送一个延时消息,1h后去检查这个订单的状态,如果还是未付款就取消订单释放库存。 使用限制 对比于rabbitmq中的延迟消息来说,rockermq并不支持任意时间的延迟,需要设置几个固定的延时等级,从1s到2h分别对应着等级1到18级 // org/apa
阅读全文
摘要:顺序消息 消息有序指的是可以按照消息的发送顺序来消费(FIFO)。RocketMQ可以严格的保证消息有序,可以分为分区有序或者全局有序。 顺序消费的原理解析,在默认的情况下消息发送会采取Round Robin轮询方式把消息发送到不同的queue(分区队列);而消费消息的时候从多个queue上拉取消息
阅读全文
摘要:官网教程:https://rocketmq.apache.org/zh/docs/quickStart/01quickstart 基于双主双从异步方式开启的前提下,在maven项目中引入下列依赖 <dependency> <groupId>org.apache.rocketmq</groupId>
阅读全文
摘要:总体架构 集群工作流程 启动NameServer,NameServer起来后监听端口,等待Broker、Producer、Consumer连上来,相当于一个路由控制中心。 Broker启动,跟所有的NameServer保持长连接,定时发送心跳包。心跳包中包含当前Broker信息(IP+端口等)以及存
阅读全文