昨晚,“B站崩了”的话题仅用了不到半小时就冲上了微博的热搜头条,随后知乎、豆瓣等网络社区的讨论度和热度也是直线上升,一度让微博陷入卡顿,知乎、豆瓣等社区加载缓慢。更有意思的是,“B站崩溃”事发时已经是晚上11点,常理来说应该有不少人已经进入了梦乡,网站的访问量相比起八九点的高峰期应该已经下降了许多。
即使如此关于B站的消息依然迅速引起了全网热议,甚至一度有传言称B站崩溃后,四散的用户甚至带崩了A站、豆瓣和知乎等网络社区网站的服务器。以至于网友调侃: B站的服务器一崩,加班的除了B站程序员还包括A站、知乎、豆瓣、微博等网站的程序员,建议以后重点盯防B站,B站一旦崩溃马上开启备用服务器分流即将到来的流量。
虽然大家都知道B站挺火的,但是第一次切身体会到了B站流量和用户数的恐怖,而且是在接近凌晨的时间,以至于第二天一早股市开盘后,B站的股价都迎来了一次上涨。
B站崩溃后的用户众生相
“断网了?”“什么垃圾网络?”,昨晚小雷刚退出游戏打算刷一会B站,结果发现点击视频后开始无限转圈,接着不是显示404就是502,感觉就像是在裸连YouTube。最初小雷以为是网络又出了问题,于是就有了开头的两句吐槽,不过,很快小雷就发现自己也许错怪了网络运营商。
在发现游戏服务器依然正常连接且其它网站的访问也正常后,狂闪的QQ终于引起了小雷的注意,点开来发现几乎每一个群都在讨论关于B站无法使用的问题,此时小雷才意识到原来是B站崩溃了。嗯?B站崩溃?在得到这个答案后,小雷迅速登录了微博、知乎、贴吧等网络社区,果然都在热搜榜和首页看到了相关的话题。
“阿B没了!”“B站倒了!”等话语充斥着几乎所有的活跃网络社区,不过,更有意思的是不少B站用户和小雷一样,一开始都以为是自己的网络出了问题。比如微博一位用户就以为是自己手机的流量用完被服务商关停了网络服务,在充值了8块钱的流量叠加包后发现依然无法打开B站,才想到会不会是B站出问题了。
而且,B站这一次崩溃的范围相当大,除了网页版之外,包括App、海外版等几乎所有的B站相关网络服务都进入了瘫痪状态。以至于有网友称,台版的B站崩溃后,对岸的网络社区中不少人都在询问是不是解放军要解放我们了,所以切断了我们与大陆的网络连接。
此外还有诸如大楼起火说、服务器爆炸说、程序员删库跑路说等多种不同版本的猜测,有些还描述得一本正经,以至于不少网友都信以为真。可以说,B站崩溃的三小时让人意识到了B站原来拥有如此庞大的流量,其中不少用户都开始疯狂玩梗,比如宣称B站更改了网址,新的网址是AcFun.com。
熟悉二次元网站的朋友估计都会会心一笑,大名鼎鼎的A站大家还是很熟悉的,不过也有不少萌新信以为真,再加上凑热闹的网友,突然增加的流量甚至让A站的服务器也一度陷入到崩溃状态,一些A站用户更是笑称,第一次在A站的视频里看到如此高的在线观看量。
如果说这一次B站崩溃的最大受益者是谁,小雷觉得应该是A站,毕竟免费获得了如此高的流量,而且还让一些网友了解到国内的二次元UCG网站并不只有B站,以至于有看热闹不嫌事大的网友捣鼓出了阴谋论,认为是A站把B站整崩溃的,当然,这种言论大家看完笑笑就好,当不得真。
在一向与B站不对付的知乎上,相关的问题更是迅速冲上了热度榜的第一,而且在短短16分钟内就已经拥有了3802条回答(知乎网友统计),一些知乎用户吐槽道: 知乎er平时嘴上都在说小破站不行,现在看来大家都是“口嫌体正直”嘛。
对于B站崩溃,网友们可以说是吃瓜的吃瓜,乐呵的乐呵,阴谋论的则已经快把外星人入侵地球,2233娘奋起反抗的剧本都写完了,段子手们各显神通,给大家攒够了一整天的笑料。B站的崩溃对于B站程序员来说可能又是一个无眠之夜,但是对于大多数网友来说,则是难得出现一次的整活之夜。
不过,大家还是很好奇,B站为什么会突然崩溃?
B站的崩溃,也许不是坏事
从B站后续发布的微博来看,事故的原因似乎是部分服务器机房发生故障,导致无法访问,而B站的云服务器中心主要架设在华为云上,所以 一度有网友传言是华为云数据中心出现了问题,随后被华为云内部员工辟谣,称事故发生时华为云的运行一切正常。
服务器机房发生故障并不少见,但是让许多程序员疑惑的是B站的容灾机制貌似做得并不好,而且这种所有相关网站、App均无法使用的情况,不太可能是一般的服务器故障所能够造成的。
除了那些不靠谱的奥特曼袭击B站之类的说法外,最初被大家广泛传播的是停电说,该说法最初来自一位自称B站运营的用户的微博,该用户称B站大楼停电,导致服务器出现了问题。
不过,该说法很快受到了业内人士的质疑,仅仅因为区域性停电就导致旗下所有网络服务中止且不可用,那么B站的相关部门从上到下全部解聘,没有一个会是冤枉的。
基本上,对于哔哩哔哩这样的大型互联网企业来说服务器不可能都放在一栋楼里,而且一般的服务器中心都会有一整套UPS系统,在短时间的断电情况下可以保证服务器中心的正常运行。而且, B站还有部分服务是架设在诸如华为云这样的数据中心上,所以除非是全国范围的大停电,否则不可能仅仅因为停电就让B站所有网络业务都无法访问。
从小雷查询到的信息来看,B站的这一次事故,可信度较高的说法是CDN供应商出现了事故。CDN是什么?CDN是内容分发网络的简称,是一个建立在已有的承载网络上的分布式网络,由处于不同区域的边缘节点服务器群组组成。
简单来说,假设B站的内容服务器位于上海,而广州的一位用户想要浏览一个视频,在点击视频后电脑就会向位于广州的CDN服务器发出请求,CDN服务器对内容请求进行核实,如果目前节点内保存有该内容,就直接将内容提供给用户,如果没有,CDN则会向源服务器发送请求,将内容传输过来后再提交给用户。
CDN被广泛应用于视音频、直播、购物等网站,能够有效的加速用户获取相关资源的速度,我们能够在点击视频后在短短几秒内完成加载并播放,有不少的功劳就在CDN服务身上。而且CDN服务还能够有效降低源网站的负荷,让源网站可以用更少的服务器来承载更多的访问量。
不过,当CDN服务出现问题后,从用户端发送的资源请求就会直接绕过CDN的服务器,将接收端定位到源服务器上。面对猛增的用户请求,B站的服务器自动启动容灾策略,开始对请求服务进行降级,比如拒绝部分用户的访问请求,回馈到用户界面上就是突然出现的404和502提示。
但是在持续的请求下,B站的网关最终没有扛住这波攻击,以至于引发了整个网络环境的崩溃。该说法的依据是当时崩溃的网络其实不止B站,诸如A站、豆瓣、晋江等多个网站都在同一时间出现了崩溃状况,只不过相比起B站,其它网站的恢复速度更快一些,所以并没有引起太多的关注。
估计有人好奇,为什么规模最大的B站反而恢复最慢?从网友提供的信息来看,也许是因为B站容灾等一系列的系统都是自研的,所以在CDN服务商出现意外并发出警示后,没有能够第一时间启动容灾系统,以至于在后续的流量瀑布攻击下被击溃了网关。而且, 其余网站所需要面对的用户访问量与B站不是一个量级,所以容灾系统才最终扛住了突然而至的大量请求。
当然,这只是其中一个可信度较高的说法,真实原因估计只有等B站公布才能知道。不过,这一次的崩溃事件也许并不算是坏事,除了让运维人员了解到目前的服务器系统所存在的问题外,还让外界了解到B站的用户活跃量和在线人数已经达到了一个恐怖的数量级,从公司发展的角度来看也许还是一件好事。