商品开售订阅通知设计(一)

背景
我们在购物平台会看到有商品开始出售的订阅通知,如xxx商品即将在xxxx-xx-xx xx:xx:xx开售,你可以点击下面的“订阅预售通知”的按钮,然后一次性订阅消息。在商品开售的前十分钟或者几分钟你将收到一次性订阅消息,提示商品将在xxxx-xx-xx xx:xx:xx开售,请注意及时参加,不要错过机会,机不可失,失不再来等。在很多电商平台都可以看见这些类似的功能,那么这些功能是怎么实现的呢?下面是笔者实现的一个简单业务实现。

设计实现
p1.1
p1.1是设计的主要实现,其中主要流程如下:

  • 任务推送
  • 延迟队列轮询
  • mq消息异步消费

任务推送
在用户点击一次性消息订阅通知后,会将触发的时间装换为毫秒并且作为score存储在redis中;

延迟队列轮询
应用程序在启动时开启一个延时任务DelayTask,延迟任务以轮询的方式拉取最近3秒内的任务,并将消息投递到mq中;

mq消息异步消费
mq消息消费者获取推送的消息,将获取的消息通过dispatch投递到任务处理池中,任务处理池由一个线程池和任务处理器组成,消息在里面被组装成对应的消息模板,通过rpc的方式完成消息通知。

具体代码实现

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知始行末

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值