百万站内信群发设计

  1. 功能简介   

最近要实现一个功能,这个项目有一个站内信的功能,每个用户有自己一个独立的信箱。前面功能和接口都设计好了,现在推出了一个类似活动的功能,一旦发布一条有标记的活动,这个活动消息就要通过站内信的方式发送到每个用户的邮箱。

  1. 想发设计
  • 想法1:肯定很多人会想,写一个select把所有用户查询出来然后再循环绑定到信件表就好了。这么做在小型项目做肯定是对的,但是在大型项目做,如果有百万级的用户,服务器会直接瘫痪掉。
  • 想法2:那我写一个limt每次发一万,这样做服务器虽然不会崩掉,但是时间成本非常高,重复的垃圾数据也很高。
  • 想法3:这也是最后我敲定的想法,逆向思维,我们不是去发而是让用户自己去取。如何实现囊:

 很简单,在用户登录的时候,判断活动到期时间(你需要一个时间列),判断用户是否收到过重复邮件,如果活动时间没过期,切没有收到邮件,那么用户就绑定到我们活动邮件上,ok搞定。这样做服务器压力会小很多,甚至可以给用户做一个是否接收活动邮件的开关。

 

 

最后修改于 2019-06-07 18:08:19
如果觉得我的文章对你有用,请随意赞赏
扫一扫支付
上一篇