1.rocketMQ默认支持18个等级 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
2.支持任意延时,设计逻辑为拆分法,用默认的rocketMQ去支持 任意时间都能够通过上面的时间组装出来
3.在1分中内需要发送的采用时间轮方式,发送出去
4.延时会走 guava-topic,不会走业务需要的topic,只有当真正需要发送的时候才会走业务topic
TODO: 5.考虑1分钟内由于强制重启等所带来的数据丢失问题
需要手动创建:topic : guava_topic group: guava-group 在业务中,一定不要去使用这个topic以及分组,可以认为系统默认占用
- 不需要依赖除rocketMQ以外的任何中间间,可以算是0侵入
- 支持任意时间纬度的延时
- 实现简单,浅显易懂,安全与否取决于rocketMQ
- rocketMQ所有的优点
- 极端情况下会有一分钟的数据丢失
- 增大了rocketMQ的自带的延时压力
- rocketMQ所有的缺点