福哥答案2020-08-05:

A.获取微博通过 pull 方式还是push 方式。
B.发布微博的频率要远小于阅读微博。
C.流量明星的发微博,和普通博主要区分对待,比如在 sharding的时候,也要考虑这个因素。

访问流量超过了系统阈值,导致一大堆请求在内存里面排队;并且前端可能已经超时,用户不断刷新重新发送请求,从而队列里面的请求越来越多,导致更大的雪崩。假设这些请求有三种,一种是在鹿晗这条微博下评论,一种是请求这条微博的评论的某一页,一种是用户转发这条微博。
这个问题可以从以下几个方面考虑:
1.明星微博流量倾斜严重,系统如果对每个用户同样对待,则系统流量不好掌控。应该考虑将大V,明星等等,特殊分区对待。并且,发送的微博越新,越应该分配更多资源。例如,根据用户对缓存和数据库进行分库分表,同时大V进入特定的资源更好的数据库和缓存。
2.考虑加入主动推送的机制,例如关注的大V发微博,评论更新等等,可以通过长连接推送控制,减少用户的主动请求。
3.热点微博评论,并不是需要每个用户每次刷新都必须看到最新的,可以存在一定的不一致性,所以缓存可以分层,同时为了用户的体验,可以根据用户id分配到某个实例,如果这个实例运转正常,就一直用这个实例,缓存分层:应用实例内缓存(例如请求之后,缓存本地,过10秒刷新) -> 公共缓存集群(例如redis集群,一主多从)同步 -> 数据库
4.用户转发微博数量也比较多,但是不一定需要所有人可见。流量高峰时,可以减缓或者暂停用户转发微博的同步,会有一段转发后只有自己可见的情况。


评论

2020-08-05:请解释下为什么鹿晗发布恋情的时候, 微博系统会崩溃,如何解决?相关推荐

  1. 【朝花夕拾】请解释下为什么鹿晗发布恋情的时候,微博系统会崩溃,如何解决?

    题目:请解释下为什么鹿晗发布恋情的时候,微博系统会崩溃,如何解决? 出题人:阿里巴巴出题专家:江岚/阿里巴巴数据技术高级技术专家 参考答案: A. 获取微博通过 pull 方式还是 push 方式 B ...

  2. 请解释下为什么鹿晗发布恋情的时候,微博系统会崩溃,如何解决?

    出题人:阿里巴巴出题专家:江岚/阿里巴巴数据技术高级技术专家 参考答案: A. 获取微博通过 pull 方式还是 push 方式 B. 发布微博的频率要远小于阅读微博 C. 流量明星的发微博,和普通博 ...

  3. 2020.08.05狂人日记:C#计时器与串口通信

    2020.08.05狂人日记:C#计时器与串口通信 串口通信学习笔记 问题及解决 串口通信学习笔记 哔哩哔哩学习"C#上位机开发串口通信编程"笔记 串口发送数据 try //防止出 ...

  4. 请解释下Spring 框架中的IOC 容器?

    Spring 中的org.springframework.beans 包和org.springframework.context 包构成了Spring 框架IOC 容器的基础. BeanFactory ...

  5. Github新功能 个人展示项目--首页展示个人介绍 图片and so on(2020.08.05)

    目录 一.功能介绍及示例 1.通过html编写自己的页面介绍. 2.挂图片 自定义链接等介绍 二.实现方法: 1.创建一个同名的project 2.编辑内容(附源码) 三.GitHub展示地址:htt ...

  6. 中国大学MOOC视频字幕下载2.0(2020.08.05更新)

    下载中国大学MOOC课程视频的字幕 首先视频本身要自带字幕,不然没有这个文件 浏览器最好选择Google Chrome,我是在这个浏览器上进行的操作 距上次写这篇文章过去了一年时间,网页的逻辑稍有改变 ...

  7. [css] 请你解释下什么是浮动和它的工作原理是什么?同时浮动会引起什么问题?

    [css] 请你解释下什么是浮动和它的工作原理是什么?同时浮动会引起什么问题? 什么是浮动:我们在做布局的时候用到的一种技术,通过浮动可以让元素左右浮动,然后通过margin调整位置工作原理:使元素脱 ...

  8. (十三:2020.08.28)CVPR 2015 追踪之论文纲要(译)

    CVPR 2020 追踪之论文纲要(修正于2020.08.27) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

  9. (十一:2020.08.28)CVPR 2017 追踪之论文纲要(译)

    CVPR 2017 追踪之论文纲要(修正于2020.08.28) 讲在前面 论文目录 讲在前面 论坛很多博客都对论文做了总结和分类,但就医学领域而言,对这些论文的筛选信息显然需要更加精细的把控,所以自 ...

最新文章

  1. 高通平台MSM8916LCM模块移植(一)-bootloader部分
  2. 2.struts1.x中的异常处理
  3. Qt|C++工作笔记-QVector与Vector去重复的值
  4. jvm面试之 Java内存模型之线程独占部分,线程共享部分,常问问题分析
  5. 程序员的10个谎言,你听过几个?
  6. 使用Docker搭建hadoop集群
  7. (转)页面滚动条(scrollbar)颜色设置详解
  8. java的getshape(),Java RectangularShape.getMaxX方法代码示例
  9. PairSCL:句子对级别的有监督对比学习方法
  10. 在三维空间中表示平面和直线
  11. 馈线中的VSWR电压驻波比
  12. linux中oppenoffice的安装
  13. [转载]寻 找 石 泉
  14. 微信小程序:简洁UI好玩的文字转换emoji表情
  15. CS224n Assignment4解读 · 上
  16. “健康码”背后的腾讯C2B大练兵
  17. 宇视科技的摄像头添加至别的品牌录像机黑屏
  18. 从内存角度深入看结构体(window/linux)大小
  19. 面向卫星互联网的层级化智能部署架构
  20. 1.企业信息化战略与实施

热门文章

  1. 你真的会选择二极管吗?不同二极管如何选择?
  2. zmq 基本使用方法
  3. Epub360教你招聘H5页面设计与制作
  4. 旋风解析磁力php,梦见旋风磁力好不好?
  5. html canvas爱心雨,canvas实现爱心和彩虹雨的效果
  6. C语言:输入三角形的边长,求出三角形的周长,面积和,若不能构成,则提示出来,
  7. LBM模式学习·保姆级安装及初步使用教程
  8. android程序员周记,程序员实习周记100篇
  9. java dozer_java Dozer深copy工具类
  10. WAMP下安装phpunit