【IT老齐051】动态通知方案Push和Pull

【IT老齐051】动态通知方案Push和Pull

场景

1710815173905

1710815256070

对比

Push模式 Pull模式
实时性 较好,通过网络管道准实时发送 较差,取决于定时轮询时间
服务器状态 有状态,需持久化粉丝动态队列 无状态,根据请求实时查询
风险项 大V动态的并发“写扩散”问题
大量动态队列持久化造成磁盘高 IO 大量粉丝准点“读扩散”问题
大V粉丝准点并发查询搞垮服务器
应用场景 微信 微博(早期)

优化方案

写扩散 (Push) 优化

  • 设置上限,微信好友5000个
  • 限流策略,X分钟内完成消息发布
  • 优化存储策略,采用NoSQL或大数据方案

读扩散 (Pull) 优化

  • MQ削峰填谷,超长队列直接拒绝
  • 增加轮询间隔,减少请求次数
  • 服务端增加缓存,优化查询效率
  • 增加验证码,分散时间,减少机器人刷票

混合模式

  • 粉丝量小于X,Push模式
  • 粉丝量大于X,Pull模式

实战

1710838354308

1710838535278

1710838714488

posted @ 2024-03-26 15:23  Faetbwac  阅读(34)  评论(0)    收藏  举报