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

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

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

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

  • 写回答

3条回答 默认 最新

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

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

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

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

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

报告相同问题?

悬赏问题

  • ¥15 ceph的对象、块、文件相关问题求解答
  • ¥50 如果使用python进行ERA5 10米风场预报检验
  • ¥15 navicat解析mysql密码
  • ¥15 SDAPI(关键词-table)
  • ¥15 unity安卓打包出现问题
  • ¥15 爱快路由器端口更改错误导致无法访问
  • ¥20 安装catkin时遇到了如下问题请问该如何解决呢
  • ¥15 VAE模型如何输出结果
  • ¥15 编译python程序为pyd文件报错:{"source code string cannot contain null bytes"
  • ¥20 关于#r语言#的问题:广义加行模型拟合曲线后如何求拐点
手机看
程序员都在用的中文IT技术交流社区

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

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

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

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

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

客服 返回
顶部