问题背景
很多人可能会留意到, 关注了公众号之后,隔一段时间, 公众号会推送消息出来,打开消息后发现这些消息看起来不像人工发送的,应该是设计好的一套关注后的定时推送机制, 从而来达到获客转化的目的....image.png]
结论, 时间轮是一切定时任务的核心底层逻辑, 但是对于应用层来说, 显然用起来还是不够方便, 应该有更易于使用的形式存在....使用AWS的SQS消息队列服务
AWS的SQS提供delay的支持, 非常完美得解决了这个问题,
[image.png]
接口调用也很简单
System.out.println("Sending a message...然后消息到期后, 进入死信队列,
死信队列里面再进行规则转发....使用起来在header里面x-delay加上延迟的秒数就行
headers.put("x-delay", 5000)
实战方案
在实际的过程中呢, 我们最先使用的是AWS的SQS, 后来业务起来了,发现免费的