胡同口 > 西祠生活 > 新闻集 > 鹿晗关晓彤恋情,是如何把微博服务器搞垮的?

鹿晗关晓彤恋情,是如何把微博服务器搞垮的?

2017-10-12 14:47:06 作者:西祠生活
为什么客户端刷新、评论这些功能挂了?原因是什么?数据量过大吗?

为什么客户端刷新、评论这些功能挂了?原因是什么?数据量过大吗?

(不关我们的事.jpg)


1

洛神赋


数据分析,顶级流量无疑。


微博覆盖用户超8亿人次。

热搜相关霸占20+,6个爆。

淘宝搜索鹿晗。


此外,鹿晗公布恋情全世界都知道了。
全球趋势第7。


韩国KBS的推特。

日本热搜趋势第二。


韩国热搜第一。


法国:


越南:


中央出来安慰大家:


知乎1小时出121道新题,以下是不完全截图。



2

匿名用户


据目前已有的信息猜测是数据库被压垮了,先发猜想,稍后写个程序分析当时的点赞评论转发数据验证猜想。


微博这样的网站,如果被大流量压垮,不太可能是非必需字段没有容错。之前经历过几次热门事件,我相信在爆发热点新闻的时候,微博会暂时牺牲一点数据准确性来保证关键服务可用。也就是说,光读请求很难压垮微博。


根据事故时的微博点赞数、转发数、评论数、评论的回复数、评论的点赞数、转发的评论转发点赞数等的量,微博极可能是由于事发当时需要写入数据库的请求太多(写行为峰值可能达到了几十万甚至更高),以及大部分写都会落到同一条微博上,而且某些写操作还需要触发相应的其他写行为(回复评论需要通知评论者、点赞需要进关注者 feed 等),数据库压力过大扛不过来,最终跪了一会儿。其实如果缓存做好,这时候还是可以满足核心数据读请求的(当然微博缓存做的并不好,我微博个人页数据错误很久了反馈也没用)。如果数据库压力过大时对部分写请求异步化,或者考虑暂时抛弃部分请求换取稳定性,当然这样也各有利弊,不一定是好的。


可以抓取当时鹿晗发的微博的所有评论转发回复点赞的时间,看下故障前几秒成功的写行为究竟有多少。


不负责任的未经验证的猜测(画图水平有限,省略了部分过程,但是从上下两个过度的箭头数,大致表达了很多请求是读且未压到数据库,将就看吧[手动捂脸.jpg]):


3

石桥码农


原来中国最厉害的黑客在娱乐圈啊。


微博团队说,临时加了1千台服务器,也就用了几个小时。


每台按使用4小时计算,2核,1GB基础流量,约合3元,这1000台也仅3000+的费用。


有人说,“是数据库被压垮了”,其实不是。数据库的吞吐量远大于web server。


有人说,是“bin log忘记清理”,也不是了,这种分布式大系统都有自动清理机制,否则人工清理将是噩梦啊。


有人说,是因为“微博自动扩容的算法没写好”,这是不对的,恰是因为自动扩容的算法写的太好了,才有了这次灾难。如果流量短时间内暴涨的太历害,稍做Delay几百毫秒,灾情就会过去;如果反应非常灵敏,流量上来了马上扩容增机,很快服务器集群池就会耗净。等到最后一台服务器被100%征用后,任何一个用户的回复就成了压倒骆驼的最后一根稻草,一个服务器跨了,流量迅速压向其它服务器,引发多米诺骨牌效应,服务器们指数级迅速宕下。


所以说,恰是因为微博分布式系统的自我扩容机制太好了,所以才有了这次灾难。鹿晗发微,仅是外因。


经此一役,程序员圈无人不知鹿黑客;


经此一役,微博再不敢低估鹿饭们的能量,明天马上开会扩大服务器备用空间;


经此一役,风潇潇兮易水寒,以后,明星以挤跨微博为荣,试问国内,谁还能刷新鹿黑客的记录,像票房一样,拭目以待...


4

瑾儿


程序猿单身那么多,好不容易挑个好日子结婚。边结婚边写代码……


5

Yang magic


常见的web攻击有哪些?


答案:DDoS, XSS,SQL注入,公布恋情。


6

求真之理


一次成功的热度,当然要炸一个服务器祭天了。


ID: ibaiwen



西祠胡同

城市生活社区,就在你身边

苏B2-20130248  苏ICP备13048008号  京网文[2010]0371-003号  广播电视节目制作经营许可证(京)字第1177号

南京西祠信息技术股份有限公司

不良信息举报中心 网络110报警服务 可信网站
扫描二维码

扫一扫,加微信
参加活动赢好礼

返回