简述
当我们面对一些及时性比较高的场景时,比如,秒杀活动在活动开始前十分钟预热要下架相关商品,活动结束后又要将相关商品自动上架;再比如,租房系统房租到期需要做结算。我们第一个想到的解决方案是使用一个定时任务每个10分钟扫一次库。但当数据量较大时,对数据库而言这无疑是一场灾难,而且轮询的粒度为10分钟精度太差。
直接使用rabbitmq死信队列实现有什么问题?
使用死信队列实现延时的工作原理,如下图所示:
定时任务投递到一个指定了超时时间(x-message-ttl:毫秒数)的队列,并指定其死亡交换机和key(x-dead-letter-exchan