redis实现一个消息对列如何保证消息不丢失

面试被问到redis实现消息对列怎么保证消息不丢失和幂等性,关于这个。大佬们的思路能讲一下嘛
全部评论
为什么不百度查
点赞 回复 分享
发布于 2018-12-26 18:31
我觉得是设置定时任务检察消息是否成功消费,不成功消费将重新放进消息队列来保证不丢失。幂等性就加个全局唯一id吧,可以使用发号器来生成,然后消息成功消费就记录,消息消费前如果有这条记录就不重复消费了。
点赞 回复 分享
发布于 2018-12-26 18:43
开始扫盲了 https://github.com/doocs/advanced-java/blob/master/docs/high-concurrency/mq-interview.md
点赞 回复 分享
发布于 2018-12-26 20:44
可以试试利用数据库的特性来保证消息不丢失
点赞 回复 分享
发布于 2018-12-26 21:33
1.消息不丢失 存储不丢失:redis本身的持久化 消费者消费不丢失:消费完以后ACK或者上面同学回复的定时扫描,但是定时扫描得需要消费者提供接口判断消息是否消费成功。 2.幂等性 主要是在消费端做,上面的一个同学回答的挺好的。
点赞 回复 分享
发布于 2018-12-26 21:53

相关推荐

头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
10-15 09:13
已编辑
天津大学 soc前端设计
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务