分享
有一张200W数据量的会员表,每个会员会有长短不一的到期时间,现在想在快到期之前发送邮件通知提醒续费,该如何实现
输入“/”快速插入内容
有一张200W数据量的会员表,每个会员会有长短不一的到期时间,现在想在快到期之前发送邮件通知提醒续费,该如何实现
1.
方案
:系统不主动轮询,而是等用户登录到系统以后,触发一次检查
如果发现会员过期时间 < 设定的阈,触发一次弹窗提醒或邮件提醒
优点
:规避轮询问题,不会对数据库和后端应用程序造成任何压力
缺点
:用户一直不登录,就一直无法实现会员过期,并且也无法提前去根据运营策略发送邮件或过期的提醒消息
2.
方案
:使用搜索引擎
如Solr、Elasticsearch,把会员表里的会员id和会员到期时间存储一份到搜索引擎中
a.
搜索引擎的优势:在于大数据量的快速检索,并且具有高可扩展性和高可靠性,非常适合大规模数据的处理
3.
方案
:使用Redis实现,
•
用户开通会员,设置用户ID和该id的过期时间,使用Redis里的过期提醒功能,监听key过期事件,做出相应的处理
4.
方案:MQ里提供的延迟队列
•
用户开通会员,计算该会员的过期时间,发送一个延迟消息道MQ里,一旦消息到达过期时间,消费者可以消费这样的一个消息,触发会员过期的一个提醒
参考资料:
https://www.bilibili.com/video/BV16C4y1d7tN/?spm_id_from=333.337.search-card.all.click&vd_source=8393ba8b4463e2acda959f2ff2c792f6