瞧峰 2018-12-08 19:08 采纳率: 100%
浏览 3963
已采纳

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

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

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

  • 写回答

3条回答 默认 最新

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

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

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

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

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

报告相同问题?

手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部