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-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
10-07 23:57
已编辑
电子科技大学 Java
八街九陌:博士?客户端?开发?啊?
点赞 评论 收藏
分享
11-20 17:33
已编辑
门头沟学院 嵌入式工程师
小米汽车 底软测开岗 n*15(15大概率拿不到) 双非硕
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务