如何看待 2021.07.13 B 站崩溃事件

2022-07-15 08:39:10 +08:00
 Stendan

分析报告: https://www.bilibili.com/read/cv17521097

14747 次点击
所在节点    哔哩哔哩
103 条回复
ccagml
2022-07-15 09:29:43 +08:00
原来大家都是,重启->回滚代码->重装
QuinceyWu
2022-07-15 09:31:51 +08:00
Block List + 1
xingyuc
2022-07-15 09:33:05 +08:00
如何看待 QQ 大规模盗号
shyrock
2022-07-15 09:33:26 +08:00
挺佩服的,大厂有资源和决心花这么长时间做根因分析。

换成我,感觉挖不到这么深的原因。只能作为悬案归档。
zhoudaiyu
2022-07-15 09:34:17 +08:00
原来 SLB 也可以写扩展逻辑
Leviathann
2022-07-15 09:36:41 +08:00
我的评价是:动态弱类型语言就是个 jb
kkocdko
2022-07-15 09:46:07 +08:00
有很多人给出了各种答案,比如类型检查,写测试等等。

但我想说的是,一切缓解和检查措施总有失效的时候。我更看重备份与回滚,以及快速的介入,保证事故发生时的控制权。
liuliangyz
2022-07-15 09:47:20 +08:00
@leido 人家没有衣服公开报告,而且这么大的事,牵扯多少部门,多少同学。最终报告要层层递交。
didilili
2022-07-15 09:52:06 +08:00
写的如此详细,着实是受教了~
ElliotQi
2022-07-15 09:52:48 +08:00
@qping Flame Graph 看出来的?
bxb100
2022-07-15 09:54:09 +08:00
B 站解决问题的方案:猜,线下重试,现场火焰图
DingJZ
2022-07-15 09:56:17 +08:00
01:50 此时在线业务基本全部恢复。

当晚已定位到诱因是某个容器 IP 的 weight="0"。此应用在 1:45 时发布完成,weight="0"的诱因已消除。所以后续关闭 jit 虽然无效,但因为诱因消失,所以重启 SLB 后恢复正常。

一顿操作之后,还是外部变化消失+重启恢复的,中间重建之类的操作其实都没用

面对故障,一找出变化,二回滚。
newmlp
2022-07-15 10:09:09 +08:00
关键服务还搞 lua 脚本这种花里胡哨的东西,该
zapper
2022-07-15 10:10:13 +08:00
v2 知乎化
知乎贴吧化
贴吧粪坑化
nomagick
2022-07-15 10:11:24 +08:00
根本原因还没意识到呢

硬件防火墙一般都有一个非常方便切换的旁路模式,可以迅速消除防火墙对网络的影响。

像 WAF 这种东西充满不确定性,其行为飘忽不定,代码质量堪忧,流量处理能力和流量内容相关,更有复杂的过滤逻辑,搞不好啥时候就出问题。

在自己流量路径上串行设置 WAF 类似物而没有旁路机制,这才是症结。

我看这报告问题还是归咎在开发上,开发是有问题,但不至于影响全业务,真正的问题在架构上,首席架构师引咎吧
yujinchn
2022-07-15 10:21:06 +08:00
@shyrock 原因没找到,这次可以了不代表下次就不会又出现,找到原因直接解决更好
shyrock
2022-07-15 10:41:00 +08:00
@yujinchn 我看原文不是定位到了具体的 lua 代码了?怎么你说没找到
joyyu
2022-07-15 10:55:18 +08:00
"0" != 0
Mac
2022-07-15 10:58:09 +08:00
昨天我家洗衣机崩了,不脱水,原因就是一个字,便宜。
EminemW
2022-07-15 11:06:21 +08:00
所以算是自测的时候没考虑到边界条件?”0” != 0

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/866300

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX