2025java面试高频场景题:订单超时自动取消的功能如何实现?延时消息?【马士兵】
这边最简的的方法就是以下两种,除此之外呢,严老师独家给微小型系统推荐另外一种,数据库轮询。\n1、定时任务:\n原理:设置一个定时器或定时任务,每隔一定时间(如30秒或1分钟)去查询数据库中的未支付订单,判断其是否超时,若超时则执行取消操作。\n优点:实现简单,易于理解和维护。\n缺点:对数据库造成一定的IO压力,特别是当订单量非常大时,高频次的查询会影响数据库性能。\n2、JDK延迟队列(DelayQueue):\n原理:利用Java并发包中的DelayQueue数据结构,将订单放入队列中并设置超时时间,当订单超时
立即观看