阿里开发者招聘节 | 面试题09

  • 时间:
  • 浏览:1

某些人 先假设新浪微博和tweet技术方案一致进行分析,另一有另有三个 明星发微博,我我真是也没办法 中心时间线加入了四根数据,在良好缓存机制状态下,应该某些儿这些的什么的问题都没办法 。

2017 鹿晗关晓彤 46 80 280

2019 鹿晗 80 16 45

2019 范冰冰 20 25 103

由新浪微博崩溃想开的

前言:微博又崩了,这是每当娱乐界有这些热点新闻时,常常总出 的状态,从鹿晗关晓彤在同時 ,到最近范冰冰李晨,新浪微博作为大厂,为这些这些这些的什么的问题没办法 多年还屡屡总出 ?

微博的整体架构

资料二:能查到对鹿晗微博的分析

关于鹿晗和关晓彤事件的相关信息

2017年鹿晗关晓彤事件,新浪从阿里云服务器临时增加800台机器抗住了压力

最终结果那四根微博为 转发416万次,评论80万,点赞280万

鹿晗的最新粉丝数:8000万 关晓彤2800万

选取选取还是选取

80w*75

假设MQ使用kafka,10w/s的处里性能,假设消费者性能跟得上的状态下,约5分钟。原因考虑到消费者更新另一方时间线的消耗,但实际每个用户更新另一方的时间线,原因先更新缓存,再异步落库,应该可不都能不能 解耦,使得缓存提供服务

微博用户目前在5亿左右,日活1.6亿,但这1.6亿在全天的登录,会有高峰,但不至于很大差别。

某些人 之前 提到,大偏离 的普通用户是单独的时间线维护,不原因把所有的用户所有时间线全部缓存

Feed多次缓存架构

用户分析

四根正常的微博发出来,会处在这些

呼告tweet,这里有了解到架构是:

Tweet 第一版

中心化的tweets,每另一方插入全部都是那里,读取的之前 读取另一方的和另一方follow的,随着规模扩大,无法完成

Tweet最终版

为大偏离 人采用维护单独时间线的法律方式,平均另一有另有三个 人73个followee,但为大V等人,采用单独的服务器,采用方案1的中心时间线, 每另一有另有三个 用户读取tweets的之前 , merge另一方的时间线和大V的中心时间线,最终返回

比较四根2019年鹿晗的比较热门的微博

整个微博的转发,评论,点赞等,会涉及到极少量的后边环节

以下分析,纯属我另一方查阅资料挂接后的猜测评估

 数据库和缓存

按理说新浪的微博肯定会有良好的缓存设计,但新浪涉及到的数据有不想 不想 不想 不想

某些人 不考虑新浪后台的过滤,80万的转发,116万的评论,4116万的点赞

微博宕机分析

首先,定性的讲,微博崩溃肯定是原因短时间,访问过于密集原因的。但原因缺乏数据,无法比较平时和高峰时,具体的数据差异,但从有限的资料可知

2017年服务宕机,微博找阿里云临时调配800台服务器,才最终扛过压力可知,这些差异是很大的

Tweet 第二版

为每另一有另有三个 用户维护另一有另有三个 时间线,每另一有另有三个 人发了tweet,全部都是推送到他的followee上,这些用户都更新另一方的时间线,里装缓存

有这些这些的什么的问题?

另一有另有三个 大明星更新状态,时需给几千万的用户作推送,或者tweet的目标是5s内完成,这些不太现实

参考之前 新浪的数据量,所有的数据全部缓存肯定是不原因的,继续分析

又某些资料:

资料一:截止目前17点10分,鹿晗关晓彤 的第四根评论的子评论,第二页依旧无法刷新。 显示该评论已被删除,事实上这条评论并未被删除。一般热点数据,首屏全部都是会缓存的,或者原因把每四根评论都缓存,代价就太高,不想 不想 不想 不想 当访问第二页没办法 被缓存的评论时,会穿透访问数据库,这时原因服务限流或降级原因,没办法 获取到第二页的评论,这之前 就展示兜底数据评论被删除。

可不都能不能 看了,这些微博的覆盖人次,有8亿人,这些肯定富含不想 不想 不想 不想 非活跃用户,原因收到热门事件影响,极少量非活跃用户冷启动加载数据,数据库我我真是扛不住

如短时间极少量的RPC调用,技术服务,列表长度,消息队列等极少量环节,另一有另有三个 个尽我所能分析

看上去数量级上,相差只是想想 ,为这些某些原因新浪崩溃,某些反而没这些的什么的问题呢?

 后边环节

某些人 先假设微博把5亿用户的前3页内容给缓存起来是这些数量级

考虑到微博一般全部都是图文,还动不动只是长微博,也假设你有73个好友,每个好友两天发四根微博,以四根80k计算

5亿7580k=3780T

实际上cache 内存百T级,相差另一有另有三个 数量级,为什么会办?更并非还有更多的相关的评论等

说明不想评论击穿到数据库,我我真是是服务降级了,原因后续可不都能不能 通过更细粒度的热门微博评论控制提升服务质量

关于微博

微博的整体负载量级

微博平时的量级:日活1.6亿,平台接口日 百亿级别 cache 内存百T级 cache 访问万亿级

核心记录千亿级 单个核心数据 cache qps 百万级