首页 新闻 会员 周边 捐助

RocketMq发送失败如何处理?

0
悬赏园豆:10 [已解决问题] 解决于 2023-10-27 14:54

RocketMq由于网络抖动或者是空间问题导致发送消息失败,怎么做兜底服务,才能保证这条MQ消息不丢失?园子的各位大佬,可以提供一些思路吗?

stephen_numb404的主页 stephen_numb404 | 初学一级 | 园豆:193
提问于:2023-10-18 11:13
< >
分享
最佳答案
1

比较简单的方法就是在你的发送语句外加个trycatch。记录发送的日志,然后从新发送。

收获园豆:10
景伟·郭 | 初学一级 |园豆:10 | 2023-10-27 14:50

大佬的意思是把发送的信息保存下来,然后重新发送之前保存的信息吗

stephen_numb404 | 园豆:193 (初学一级) | 2023-10-27 14:51

@stephen_numb404: 是的。记下日志是考虑到网络抖动或者宕机,后续补偿发送不至于丢失数据。从新发送的话就是你上面说的网络问题,并不是服务本身完全宕机了。

景伟·郭 | 园豆:10 (初学一级) | 2023-10-27 14:52

@郭景伟Larva: 谢谢大佬

stephen_numb404 | 园豆:193 (初学一级) | 2023-10-27 14:54
其他回答(3)
0

看看.....

tea2007 | 园豆:3 (初学一级) | 2023-10-18 11:21
0
dudu | 园豆:30948 (高人七级) | 2023-10-18 11:29

谢谢大佬

支持(0) 反对(0) stephen_numb404 | 园豆:193 (初学一级) | 2023-10-18 12:12
0

线程内循环几次,保证发送成功。就是失败后多尝试几次。

生命体验之kevin-Y | 园豆:474 (菜鸟二级) | 2023-10-24 13:37

如果是由于rocketMq的问题,比如网络抖动啥的,可能重试几次都失败呢

支持(0) 反对(0) stephen_numb404 | 园豆:193 (初学一级) | 2023-10-27 14:51

@stephen_numb404: 所有网络的程序都要面对这个问题。想办法保存信息,本地json文本等。或者就做一个数据表记录所有发送失败的记录,允许任何时候重发罗。

支持(0) 反对(0) 生命体验之kevin-Y | 园豆:474 (菜鸟二级) | 2023-10-27 15:00

@生命体验之kevin-Y: 嗯,现在准备是准备一张表,把发送失败的mq消息存在表里,然后通过定时任务去轮询发送

支持(0) 反对(0) stephen_numb404 | 园豆:193 (初学一级) | 2023-10-27 15:02
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册