rocketmq
2022-02-22 17:46:33 0 举报
AI智能生成
rocketmq
作者其他创作
大纲/内容
64位操作系统
64位JDK1.8+
maven 3.2.x+
git
依赖环境
git clone https://github.com/apache/rocketmq.git
代码下载
分支主题
项目构建
代码准备
配置环境变量
修改配置文件
运行
启动NameServer
启动Broker
异常信息查看
发送
接收
发送和接受消息
关闭broker
关闭namesrv
关闭服务
单机模式
集群模式 TODO
① 安装
基于springboot
1、在代码中指定namesrvAddr属性。例如:consumer.setNamesrvAddr("127.0.0.1:9876");
2、通过NAMESRV_ADDR环境变量来指定。多个NameServer之间用分号连接。
寻找NameServer
测试环境搭建
创建消息生产者producer,并制定生产者组名
指定Nameserver地址
启动producer
创建消息对象,指定主体Topic、Tag和消息体
发送消息
关闭生产者producer
消息发送者的固定步骤
创建消费者Consumer,指定消费者组名
订阅主体Topic和Tag
设置回调函数,处理消息
启动消费者consumer
消息消费者的固定步骤
rockermq编程模型
同步发送
异步发送
单向发送
消息发送
拉模式
推模式
消息消费
rockermq消息样例
发送消息要有序
消费消息要有序
顺序消息
消息会发给所有订阅了对应主题的消费者
广播消息
发送消息延迟
延迟消息
说明
小于1M消息发送
大于1M消息发送
批量消息
生产端
消费端
TAG过滤
SQL92语法
SQL过滤
过滤消息
事务监听器实现
监听器注入到producer
不支持延迟消息和批量消息
配置单个消息检查次数
间隔时间检查的配置
事务消息可能不止一次被检查和消费
保证事务消息不丢失,建议使用同步的双重写入机制
事务消息生产者ID不能和其他类型的生产者ID共享
使用限制
1、TransactionMQProducer发送half消息给Broker
2、TransactionMQProducer接收到从Broker来的half消息
3、执行本地事务(executeLocalTransaction)
4、producer回滚或提交
5、Broker定时回查未确定状态的消息
6、producer回查消息状态(checkLocalTransaction)
7、producer根据消息状态提交或者回滚
8、Broker对于回滚的消息直接丢弃
实现机制
事务消息
事务消息只涉及发送消息
消息模型
具体配置
服务器配置
客户端配置
acl权限控制
Message对象不同
注意点
引入关键依赖
配置文件
消息生产
核心是@RocketMQMessageListener注解
消息过滤:selectorType和selectorExpression指定
有序或并发消费:consumeMode指定
集群还是广播:messageMode指定
与springboot集成
谨慎使用
与SpringCloudStream集成
② 开发
消息生产者
消息消费者
主题
代理服务器
名字服务
消息
③ 基础概念
何时存储消息
消息存储介质
消息存储结构
刷盘机制
消息主从复制
负载均衡
消息重试
死信队列
消息幂等
④ 消息存储
RocketMQ
MQ
0 条评论
下一页