RocketMQ第六节(知识点总结)

目录

1:参数设置解析

2:重试机制

2.1:发送者重试最多3次

2.2:接受者重试最多16次

3. 消息去重/消息幂等(防止消息重复消费)

3.1:重复消费的原因

3.2:怎样处理重复消费,保持幂等性?

4. 回溯消费

5:RocketMQ 消息堆积了怎么解决

5.1:分析消息堆积的原因

5.2:解决消息堆积

6:死信队列、死信消息


1:参数设置解析

参数约束和建议 | RocketMQ

1.1:生产者消息重发次数默认3次

消息发送重试是客户端SDK内置的重试策略,对应用不可见,建议取值不要过大,避免阻塞业务线程。 如果消息达到最大重试次数后还未发送成功(比如MQ服务异常接收不到生产者发送的消息),建议业务侧做好兜底处理,保证消息可靠性。

1.2:消息消费重试次数 默认值16次

消费重试次数应根据实际业务需求设置合理的参数值,避免使用重试进行无限触发。重试次数过大容易造成系统压力过量增加。

1.3:半事务消息第一次回查时间

默认值:取值等于[事务异常检查间隔] * 最大限制:不超过1小时。也就是说在一个小时内回调checkLocalTransaction方法查询事务的状态

1.4:事务异常检查间隔 默认值:60秒。

第一次回查没有结果,那么按照指定间隔继续回查

1.5:半事务消息最大超时时长 默认值:4小时。 * 取值范围:不支持自定义修改

半事务消息因系统重启或异常情况导致没有提交,生产者客户端会按照事务异常检查间隔时间进行回查,若超过半事务消息超时时长后没有返回结果,半事务消息将会被强制回滚。 您可以通过监控该指标避免异常事务。也就是说超过4个小时消息,这条事务消息会回滚。

2:重试机制

2.1:发送者重试最多3次

生产者默认发送重试次数是三次,比如MQ网络波动,发送消息到了MQ,MQ也保存了消息,但是没有将结果返回给生产者,生产者误认为MQ没有收到消息,会进行最多三次的重复发送。导致MQ收到的消息重复。

发送者重试缺点:根据缺点源码分析,同步发送会重试3次,尽最大保证把消息送达,但是可能会出现同一条消息多次发送到mq,消费者会 接收到同一条消息最大三次,要保证消费者的幂等性。

2.2:接受者重试最多16次

重试的消息会进入一个<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值