问题背景
很多人可能会留意到, 关注了公众号之后,隔一段时间, 公众号会推送消息出来,打开消息后发现这些消息看起来不像人工发送的,应该是设计好的一套关注后的定时推送机制, 从而来达到获客转化的目的....效果如下图
image.png
本文主要介绍如何实现这种推送机制的技术方案
技术选型思路
定时调度数据库轮询
这种是很容易想到方案, 有点是简单粗暴, 缺点也同样明显, 效率低下, 适合在用户量很少的时候...不支持分布式, 有时候会有重复推送....keyspace notifications的方案, sofar so good, 直到有2个问题暴露出来,
一个就是官方文档提到的, reconnect的之后, 不保证可靠性, 这个监控显示有概率非常小发生...而key的的通知回调, 时间其实并不敏感, 我们的推送迟个几秒钟, 就算迟发1分钟, 其实也好好. 只要不是不发就行, 于是这个方案目前在成本和可靠性方面, 提供一个最优解.