rabbitmq实现延迟队列定时关单的问题,希望老师给点建议

来源:8-5 接口限流防刷下

西瓜大师

2019-03-21

rabbitmq实现延迟队列这块用的是死信机制。
现在呢,就是猜测到订单这块的生产上的问题:
在电商这块,经常有未付款的订单,因为使用定时任务去做的话(假如大量的操作都发生在同一时刻,不用想)太耗性能了,在delayqueue和rabbitmq面前,固然选择rabbitmq。
设计思路
现在是这样的,生成订单时,将秒杀订单信息放入到redis中,再次发起入队请求(死信定时关闭订单),返回给客户端订单信息,设置好24小时的消息过期时间(死信实现,到期后查redis中订单的状态,未支付,就做关闭订单)
问题
这种设计思路存在那些问题呢?还有呢,就是三月份马上要过去了,准备在月底面试,还请老师指点下,到时候就说您这个项目了

写回答

1回答

若鱼1919

2019-03-22

可以这么来实现,如果是面试还有可能会问:加入存redis成功,入队失败怎么处理?所以要做可靠投递。如果消息出队以后,应用服务器发生了异常如何处理?这时候要做消费确认。还有其他类似的问题

2
2
西瓜大师
谢谢老师,辛苦了
2019-03-22
共2条回复

Java秒杀系统方案优化 掌握海量访问通用解决方案

各种缓存/JSR303参数检

2698 学习 · 941 问题

查看课程