场景:
1、淘宝,京东等购物平台上下单,超时未支付,订单自动取消。
2、打车或者点外卖时规定时间内没有接单,平台会取消订单
3、网购商品后,一段时间没有确认收货,平台自动确认
…
为什么这样做?因为这样可以保证释放商品或者服务给其他人。你也及时更换另外的商家。
技术栈及实现详情:
消息延迟的处理流程图:
当用户发送一个消息请求给服务器后台的时候,服务器会检测这条消息是否需要进行延时处理,如果需要就放入到延时队列中,由延时任务检测器进行检测和处理,对于不需要进行延时处理的任务,服务器会立马对消息进行处理,并把处理后的结果返会给用户。
对于在延时任务检测器内部的话,有查询延迟任务和执行延时任务两个职能,任务检测器会先去延时任务队列进行队列中信息读取,判断当前队列中哪些任务已经时间到期并将已经到期的任务输出执行(设置一个定时任务)。