瞧峰 2018-12-09 03:08 采纳率: 100%
浏览 3951
已采纳

如何实现对百万千万级的消息实时推送?

前段时间面试时,面试官问,如何设计一个系统实现百万级千万级的消息实时推送,例如微博中的你特别关注的明星发布了新的微博,需要在短时间内将该消息推送给几百万个人,如何做到的呢?

我当时没有什么想法,只是想到将其粉丝塞到消息队列中慢慢推,但是面试官说这种做法太蠢了,我就直接懵逼了,请问在座的各位大佬能否给点想法意见?

  • 写回答

3条回答 默认 最新

  • threenewbee 2018-12-09 13:03
    关注

    我觉得你的面试官故意卖弄,实际上就是打压你而已。这种问题没有上下文根本不知道他想问什么。

    不过我可以猜测这么几个方向,你可以参考下,希望你的关注点是技术,而不是一个面试官胡诌一通以后自己瞎琢磨。

    (1)首先要明白,在线的用户需要实时推送,不在线的用户不需要(你推送和不推送,没有任何人感知到,除了你的服务器)。微博这种系统,看似用户上亿,但是实际上并发在线的用户并不多。特别是低峰时段。所以你需要优先推送给在线的,以及刚刚上线的用户,别的可以放在队列里面慢慢跑。
    (2)这种级别的负载,需要考虑的是分布式的架构,还有网络,而不是单机,单机肯定扛不住,你需要足够多的服务器并发。微博那样的网站,有上百服务器,每个服务器发上万,你还觉得多么。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题