问题背景
很多人可能会留意到, 关注了公众号之后,隔一段时间, 公众号会推送消息出来,打开消息后发现这些消息看起来不像人工发送的,应该是设计好的一套关注后的定时推送机制, 从而来达到获客转化的目的....time.AfterFunc(time.Duration(n) * time.Minute, func() {
// do something
})
defer timer.Stop()
但是这个方案有2个缺点
进程重启后,...TTL(Time to Live)
DLX(Dead Letter Exchanges)
简单而言就是对每条消息设置TTL, TTL就是延迟的秒数....然后消息到期后, 进入死信队列,
死信队列里面再进行规则转发....直到有2个问题暴露出来,
一个就是官方文档提到的, reconnect的之后, 不保证可靠性, 这个监控显示有概率非常小发生, 不到十万分之一, 对比了机器的环境, 应该是和网络抖动有关, 这个小概率的修复