消费者参数rocketmq管理控制台安装
从git上下载源码下载分支release-rocketmq-console-1.0.0用idea打开项目,修改application.properties文件:maven打jar包运行jar包
消费者参数| consumeMode 消费模式 | 默认值 ConsumeMode.ConCURRENTLY 并行处理ConsumeMode.ORDERLY 按顺序处理 |
| messageModel 消息模型 | 默认值 MessageModel.CLUSTERING 集群MessageModel.BROADCASTING 广播 |
| consumeThreadMax 最大线程数 | 默认值 64 |
| consumeTimeout 超时时间 | 默认值 30000ms |
消费者:
1)消息丢失:at least once+重试机制
at least once :ack机制
1.先提交后消费
2.先消费,消费成功后再提交(rocketmq默认这种模式)
rocketmq自带的重试机制+死信队列
重试分为:异常重试和超时重试
1.异常重试:由于Consumer端逻辑出现了异常,导致返回了RECONSUME_LATER状态,那么Broker就会在一段时间后尝试重试。
https://blog.csdn.net/u013099854/article/details/111321186
2.超时重试:如果Consumer端处理时间过长,或者由于某些原因线程挂起,导致迟迟没有返回消费状态,Broker就会认为Consumer消费超时,此时会发起超时重试。
2)消息重复(幂等性):
状态判断法:插库后把数据存到redis,下次消费时先到redis中查看是否存在,存在则表示重复数据,直接丢弃。(需考虑过期时间设置多少,压测情况调整)
业务判断法:traceid流水唯一索引,卡号分片不会影响到,过滤的同一笔流水卡号肯定一样。
https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0
下载分支release-rocketmq-console-1.0.0git clone -b release-rocketmq-console-1.0.0 https://github.com/apache/rocketmq-externals.git用idea打开项目,修改application.properties文件:
server.port=8090 ... rocketmq.config.namesrvAddr=127.0.0.1:9876maven打jar包
mvn clean package -Dmaven.test.skip=true运行jar包
java -jar rocketmq-console-ng-1.0.0.jar



