延迟任务的使用场景,以及延迟任务的 10 种实现方式:
- 手动无线循环;
- ScheduledExecutorService;
- DelayQueue;
- Redis zset 数据判断的方式;
- Redis 键空间通知的方式;
- Netty 提供的 HashedWheelTimer 工具类;
- RabbitMQ 死信队列;
- RabbitMQ 延迟消息插件 rabbitmq-delayed-message-exchange;
- Spring Scheduled;
- Quartz。
延迟任务的使用场景,以及延迟任务的 10 种实现方式: