订单超时解决方案

订单超时解决方案_第1张图片

  1. 数据库订单任务,定时扫描订单时间(物理和逻辑删除)
  2. jdk队列 delayedqueue 无界阻塞队列 超时时间排序 poll得到超时元素,没有超时返回null;take没有获取到超时元素,会阻塞
  3. 环型队列 指定长度数组循环,每一个位置存放set集合,计算消耗任务的执行次数,list
    自己依照循环次数与休眠时间,存放至指定数组元素与执行次数;定时器模式执行
    订单超时解决方案_第2张图片
  4. redis有序集合 排序检索实现 zset;id循环性能消耗大,zet自动排序性能会随着订单数性能下降
    订单超时解决方案_第3张图片
  5. 基于时间形成key值(aaa_201500000),当前秒放置到一个set内,按秒级别处理。设置超时时间
    set smember = jedis.smembers(key)
    订单超时解决方案_第4张图片

你可能感兴趣的:(Java进阶)