B站的运维连牢饭都不怕,一定要出重拳!
陈睿,和这样的运维在一起,怎么能搞得好B站呢!运维,你侬!
目前可以确认的是:不只是国内版,国外版所有内容也都已经炸掉
理论上逼站应该不是有统一的固定服务器分发,肯定是有各种下端cdn的,在这种情况下,包括国外的所有cdn都炸掉了。
这……恕我直言。我觉得应该是逼站炸掉了。
还有一个问题啊,B站你们没有任何保障措施吗?
到现在连客服都无法联络了,你们确定你们这不是搞信任危机呢?
而且我现在要是叔叔的话,我现在就连夜买cloudflare,我都要赶紧把cdn再搞起来吧?自己家游戏聊天室都开始聊这种东西呢你们真的不觉得得赶快搞好吗?
评论区+自己的体验,再补充几件事情
1.国外服务器在22:15分左右,似乎部分恢复效果,可以打开主界面,但仍然无法进行操作。
而很快国外服务器也崩溃,目前已完全无法显示
2.在该时间内,通过B站登录游戏,仍然可以使用B站的游戏,游戏也仍然持续运营
3.目前官方无任何回复
4.上接3,现在已经有各种怀疑论了
5.必剪可以使用,也仍然可以上传视频(这不赶紧成为炸服完第一个发视频的人)
2021 / 07 / 14 更新
睡了一觉起来上班,例会开完了打开知乎发现这么多赞了吓一跳,考虑到有不少评论在说CDN相关的问题,并且我昨天晚上睡觉前用手机随便写的东西描述有点粗糙,还是润色一下,下面是润色的消息。原回答请拉到最下面。
昨天晚上得知这个Bilibili挂了之后我也首先访问了Bilibili,我这里的Bilibili报错是这样子的:
这是我在新加坡访问的结果,通过另一个答主 @以成 的回答,收集到了国内的报错,报错信息都是大同小异的:
这里面其实信息很少,唯一有用的信息是出现问题的服务器id。
在众说纷纭之下,各种稀奇古怪到可笑的原因都在互联网上疯传,在结合了各种信息之后我做了这样子一个简单的猜测:
这里原本想用“推测”的,但是我手头并没有任何确定的证据,只能是根据目前既定的事实和手头一些捕风捉影的小道消息来进行一些简单的猜测,如果你觉得我的猜测有问题,敬请指正。
一些既定的事实:
一些捕风捉影的小道消息:
具体的各个消息我就不说了,比如说骨干网出问题,机房起火之类的,大概最终指向是:
a. Bilibili、Acfun、豆瓣等的云服务供应商出现了问题。但是不清楚CDN出现问题还是挂载着容器的机器出问题
假设是容器出现问题,一个工作正常的LB会访问其他可用的容器。在这种情况下很难出现昨天的问题,毕竟Bilibili这么大一公司也不会把鸡蛋放在一个篮子里,肯定是异地多机房容灾。而且Bilibili这种大型视频网站,读请求和读流量肯定大部分走的都是CDN和缓存,发生这种情况的概率要小很多,另一种情况的概率很大。
那么另一种可能是CDN出现了问题,假设CDN出现了问题,大量读请求发送到CDN,由于供应商出现意外,请求无法在CDN上找到资源,大量请求回源到Bilibili主站。这是一个比较合理的情况。
有大量的用户在我的评论区说我甩锅给CDN,并且说CDN出问题的可能性不大,可能我昨天的描述不太准确,
CDN只是诱因,主站后端服务雪崩是主因!!!
CDN只是诱因,主站后端服务雪崩是主因!!!
CDN只是诱因,主站后端服务雪崩是主因!!!
综合上述这些已知信息,进行了一个猜测。7 / 14 Bilibili出现问题的整体流程可能如下:
2.1 豆瓣,Acfun等公司的运维收到告警,紧急切换了CDN,或启动了容灾策略进行降流,系统正常对外提供服务。
2.2 Bilibili同样收到告警,启动了容灾策略,但是当时正是Bilibili流量高峰期,有两个可能:
2.2.1 自研的LB没办法处理这么多请求,直接崩了
但是如果LB崩了,只需要切换CDN并且重启LB就可以成功继续对外服务了,对于Bilibili来说这个概率要小一些。
2.2.2 自研的降流有问题,导致大量请求发送到后续底层服务,服务雪崩,整个环境炸了。
结合上述提到的事实,我个人认为服务雪崩的概率要更大一些。现代的微服务系统是一个相当庞大的系统,当整个系统出现问题时,重启需要的时间是相当大的。评论区有说到k8s重启很快,针对单个容器的启动确实很快,Bilibili这么大一公司,一整个后端系统至少要重启几十上百个不同的容器才能才能一定程度上对外保持服务,这些容器也要好几百甚至上千个副本才能正常扛下高峰期流量。结合Bilibili成功访问经过的时间,我认为这样的流程是相对合理的。
结合事实[2]和[5],佐证了Bilibili的运维按照优先级重启了各个容器组,Bilibili的服务正在逐渐恢复。
至于其他的例如机房起火,Bilibili大楼停电,Bilibili官方整活甚至是空间站拍到UFO的奇怪传言我就不评论了。
以上是我的猜测推理过程,如有不对敬请指正。
以下是原回答:
众说纷纭之下,一个简单的猜测。
一些情报:
1.b站,豆瓣,a站等都崩了
2.豆瓣,a站等很快恢复了,b站在编写回答的目前还没有恢复。
3.疑似云服务提供商因意外断电。
以下是猜测:
因为云服务提供商出现意外,a站和豆瓣很快接到报警,然后启动容灾方案,重新部署了环境。
至于Bilibili,从这篇文章
https://cloud.tencent.com/developer/article/1618923
可以得知b站的LB是自研的,还有容灾系统也是自研的,一种比较靠谱的可能流程是:
1. 云服务提供商提供的CDN出现意外之后,大量请求绕过CDN直接打到网关。
2. 网关收到大量请求,自动启动了容灾策略。
3. 容灾策略启动服务降级。服务降级了但没完全降。
4. CDN挂了,网关也跟着挂了,服务雪崩,一直崩到整个环境。
5. 整个环境炸了,重启全部容器需要相当长的时间。
至于一些其他有的没的,各种各样的情况可能性就太低了。鸡蛋不可能放在一个篮子里,bilibili这么大一公司也不可能把机器全放在一栋楼,然后楼里断电还没ups。
大家都是冷备热备冷热备,多机房异地容灾。这么久还没恢复我目前认为合理的情况只有这一个了。
有朋友告诉我恢复了,但是我这里还没有恢复。进一步是证实了容器组启动成功了,但是副本还不够多,现在还是降级状态。
刷出来了的朋友给我发了一下图,我发现他们刷到的视频都是差不多的,而且根本不是他看的东西,看起来是先把主站跑起来了推荐系统还没跑起来。
平时一个个都蒙古上单本单,b站一崩瞬间热搜第一,上万回答。
感觉明天b站股票可以大涨(x
话说a站当时也一起崩了,怎么就没人关心一下吗?
问题上热榜上得这么快……
看来B站知乎是一家。
事发好几天后的更新:
这次事件最令人失望的一点是,
服务器崩溃似乎只是意外。
今天下午花时间收集了司马睿的材料,晚上b站就奔溃了,虽然是巧合······
一
司马睿的母亲叫夏侯光姬,有预言说“铜马掉海里之后,(会有人)在建邺创业。”夏侯光姬小名铜环,她死后,司马睿建立东晋。
【元夏侯太妃,名光姬,······元帝嗣立,称王太妃。永嘉元年,薨于江左,葬琅邪国。初有谶云"铜马入海建邺期,"太妃小字铜环,而元帝中兴于江左焉。】
二
起初,有名为《玄石图》的书预言“牛继马后”,所以晋宣帝司马懿很忌惮姓牛的人,制作了分隔成两个空间,只有一个口的酒壶来装酒,一半有毒,一半没毒,司马懿喝了没毒的部分,给魏国大将牛金喝了有毒的部分,毒死了牛金。后来司马睿的母亲和家中小吏牛某私通,生下了司马睿,这都是符合预言的。
【初,玄石图有"牛继马后",故宣帝深忌牛氏,遂为二榼,共一口,以贮酒焉,帝先饮佳者,而以毒酒鸩其将牛金。而恭王妃夏侯氏竟通小吏牛氏而生元帝,亦有符云。】
三
司马睿出生有如耶稣降世,神光护体,疑似在马厩中出生,被放到草堆上,垫他的草便变得和刚刚割下来新草一样了,司马睿又有如佛祖再生,额头生有白豪,眼睛有神。
【咸宁二年生于洛阳,有神光之异,一室尽明,所藉藁如始刈。及长,白豪生于日角之左,隆准龙颜,目有精曜,顾眄炜如也。】
四
司马睿刚渡江南下时,对骠骑将军顾荣说:“寄居在别人的国土上,心里常常感到惭愧。”顾荣回答:“臣听说王者以天下为家,所以殷商迁居耿、亳,没有一定的居处,周武王克商,将九鼎迁到洛邑,请陛下不要在意迁都的事了。”
【元帝始过江,谓顾骠骑曰:“寄人国土,心常怀惭。”荣跪对曰:“臣闻王者以天下为家,是以耿、亳无定处,九鼎迁洛邑。愿陛下勿以迁都为念。”】
五
司马睿登基后宠爱郑氏,于是想废长立幼,立郑氏的儿子为太子,但是大臣们都不同意,只有刁协谄媚司马睿同意奉诏。于是司马睿使调虎离山之计,召大臣周顗、王导前来,让使者请两人在东厢房休息,想趁机让刁协绕过两人去宣召,周顗没有察觉,走下台阶要去,王导直接走到司马睿的床前质问:“陛下不见我们是想要干什么?”司马睿无言以对,只好把藏在怀里的圣旨撕碎丢掉。太子之位确定后,周顗惭愧的说:“我常常自认为比王导厉害,现在知道了我不如他。”
【元皇帝既登阼,以郑后之宠,欲舍明帝而立简文。时议者咸谓:“舍长立少,既于理非伦,且明帝以聪亮英断,益宜为储副。”周、王诸公,并苦争恳切。唯刁玄亮独欲奉少主,以阿帝旨。元帝便欲施行,虑诸公不奉诏。于是先唤周侯、丞相入,然后欲出诏付刁。周、王既入,始至阶头,帝逆遣传诏,遏使就东厢。周侯未悟,即却略下阶。丞相披拨传诏,迳至御床前曰:“不审陛下何以见臣。”帝默然无言,乃探怀中黄纸诏裂掷之。由此皇储始定。周侯方慨然愧叹曰:“我常自言胜茂弘,今始知不如也!”】
六
司马睿大宴群臣,酒酣时问:“今日聚集了众多名臣,和尧舜时期比怎么样?”周顗厉声说:“你虽然是皇帝,哪比得上尧舜圣世!”司马睿大怒,将周顗关押,声称要处死他,过了几天,放了出来,众人前去慰问,周顗说:“我就知道我死不了!”
【帝宴群公于西堂,酒酣,从容曰:"今日名臣共集,何如尧舜时邪?"顗因醉厉声曰:"今虽同人主,何得复比圣世!"帝大怒而起,手诏付廷尉,将加戮,累日方赦之。及出,诸公就省,顗曰:"近日之罪,固知不至于死。"】
七
司马睿在正式的大会上请王导和自己一起坐,王导表示:“我也不是谦虚,还是另请高明吧。”,司马睿仍然不肯放弃,王导说:“红太阳怎么能和万物有一样的光辉呢?如果那样,让臣子瞻仰谁?”
【元帝正会,引王丞相登御床,王公固辞,中宗引之弥苦。王公曰:“使太阳与万物同晖,臣下何以瞻仰?”】
八
司马睿儿子出生,群臣道贺,司马睿赏赐礼物,殷羡谢道:“皇子诞生,普天同庆,我没什么功劳,也得到了厚礼。”司马睿道:“我儿子出生怎么会让你有功劳?”
【元帝皇子生,普赐群臣。殷洪乔谢曰:“皇子诞育,普天同庆。臣无勋焉,而猥颁厚赉。”中宗笑曰:“此事岂可使卿有勋邪?”】
九
司马睿第一次见贺循,问吴国旧事:“吴国末代君主孙皓用锯子锯下了一个姓贺的人的头,那姓贺的叫什么名字?”贺循未回答,司马睿想起来了说:“是贺邵。”贺循哭着说:“臣的父亲遭遇无道昏君,给臣巨大伤痛,所以无法回答。”司马睿惭愧的三天不见人。
【元皇初见贺司空,言及吴时事,问:“孙皓烧锯截一贺头,是谁?”司空未得言,元皇自忆曰:“是贺劭。”司空流涕曰:“臣父遭遇无道,创巨痛深,无以仰答明诏。”元皇愧惭,三日不出。】
十
永昌元年(公元322年)正月,大将军王敦起兵“清君侧”声称要诛杀司马睿的宠臣刘隗,实际上是要阻止司马睿恢复皇权的野心。司马睿一顿操作誓死抵抗,召戴若思、刘隗带兵还卫京师,加王导(王敦的堂兄弟)、周顗、王邃、周筵等人职位讨伐王敦,亲自披甲检阅军队,然并卵,四月,王敦大军前锋抵达石头城,石头城守将周札开门投降,王敦大军进据石头城,戴若思、刘隗帅众攻石头,王导、周顗、郭逸、虞潭等奉司马睿命令三道出战,王师大败,王敦大军占领建邺,刘隗北逃,司马睿众臣被杀者众(王敦的堂兄弟王导除外)。司马睿派人向王敦求饶道:“您如果还有心晋室,就到此为止,罢兵当无事发生,如果您要篡位,我这皇帝不当也罢,我也不是谦虚,这皇帝另请高明吧!”王敦自封为丞相、都督中外诸军、录尚书事,封武昌郡公,邑万户,从兄王导司空加尚书令,二王一内一外控制东晋朝政。同年闰十一月,司马睿忧愤而死。
【永昌元年正月乙卯,大赦,改元。戊辰,大将军王敦举兵于武昌,以诛刘隗为名,龙骧将军沈充帅众应之。三月,徵征西将军戴若思、镇北将军刘隗还卫京都。以司空王导为前锋大都督,以戴若思为骠骑将军,丹阳诸郡皆加军号。加仆射周顗尚书左仆射,领军王邃尚书右仆射。以太子右卫率周筵行冠军将军,统兵三千讨沈充。甲午,封皇子昱为琅邪王。刘隗军于金城,右将军周札守石头,帝亲被甲徇六师于郊外。遣平南将军陶侃领江州,安南将军甘卓领荆州,各帅所统以蹑敦后。四月,敦前锋攻石头,周札开城门应之,奋威将军侯礼死之。敦据石头,戴若思、刘隗帅众攻之,王导、周顗、郭逸、虞潭等三道出战,六军败绩。尚书令刁协奔于江乘,为贼所害。镇北将军刘隗奔于石勒。帝遣使谓敦曰:"公若不忘本朝,于此息兵,则天下尚可共安也。如其不然,腾当归于琅邪,以避贤路。"辛未,大赦。敦乃自为丞相、都督中外诸军、录尚书事,封武昌郡公,邑万户。丙子,骠骑将军、秣陵侯戴若思,尚书左仆射、护军将军、武城侯周顗为敦所害。敦将沈充陷吴国,魏乂陷湘州,吴国内史张茂,湘州刺史、谯王承并遇害。五月壬申,敦以太保、西阳王羕为太宰,加司空王导尚书令。······闰月己丑,帝崩于内殿,时年四十七,葬建平陵,庙号中宗。】
十一
秘本世语云:【晋元帝会见各部可汗 ,曰:生者有得其所,善。蒙古大汗对曰:太后何时薨?帝大怒,逐出殿,追杀千里。】
据说是1-22楼停电。
a站也崩了。
好兄弟一起走,谁先恢复谁是狗
顺便,豆瓣好像也崩了
很多生产队偷懒的驴,找到借口了。
欧耶!
终于找到为啥在知乎,写财税文章没人看的,看了没人点赞的原因了。
这就去B站拍视频
拍美食视频,因为专业的东西大家都看的累,看吃饭比较有意思,点赞的打赏的也多。哈哈哈哈
我在看嘉然的二创,怎么突然看不成了。
唉,只能看看收藏夹的嘉然gif了。
看到这条回答的小伙伴待会可以去B站关注 嘉然今天吃什么
拜托了,这对我很重要!