发表自话题:b站崩了
崩了!劳累了一天的年轻人们,正准备躺平拿出手机,打开那熟悉的小破站 App,一键三连自己最喜爱的 up 主的最新视频。突然发现:
瞬间,“B 站崩了”的消息登上热搜,微博运维心头一紧。
部分网友表示:A 站、豆瓣等网站也出现访问故障,重连 Wi-Fi 也没有用。
今日凌晨,B 站发布公告称,昨晚,B 站的部分服务器机房发生故障,造成无法访问。技术团队随即进行了问题排查和修复,现在服务已经陆续恢复正常。
“小破站”发生什么事了?
这份模棱两可的声明显然无法阻挡住吃瓜群众的热情。
短短几分钟,关于 B 站的各种揣测消息就变成了百家讲坛:
有火灾说、删库跑路说、刑事案件说、服务器供应商说、黑客攻击说、大楼坍塌说、外星人说……
还有人煞有介事地 Po 出了 B 站运营小妹的朋友圈,说 B 站停电了……
随后立刻有专业人士指出:B 站作为一个上市的互联网公司,服务器多地备份是最最起码的事,楼里停电这个解释,估计只能骗骗没有学过数据库的高中生。
至于 A 站和晋江文学网为什么会挂,很可能是因为 B 站挂了,大批用户无片可看,就涌入 A 站和豆瓣,造成网站的流量激增,哪怕 A 站和 B 站不共用云服务,也可能被压垮。
B 站 7000 多万日活网友的威力可见一斑。
下面我们看看几个相对靠谱的猜测:
①知乎作者 @黄珏珅 盲猜了一下,应该是 etcd 挂了。
通常来说,能造成几乎所有请求都 502 的,要不就是前端和后端之间的网络通路全挂了,要不就是后端的服务全都挂了。
那么现在的大型互联网公司的基础设施是怎样的呢,大多数使用了 Kubernetes,实现全国各地的数据中心的容器编排、网络虚拟化等。
而 Kubernetes 的设计上,网络插件和 pod 编排又是相对独立的。
如果只是网络插件出问题了,那么部分服务器上的网络插件的缓存还在,一定有部分用户还能正常使用。
现在所有的都挂了,那只能是 etcd 挂掉,导致反向代理无法通过 etcd 找到对应的 pod 的虚拟 ip,又无法通过网络插件与对应的 pod 通信。
②知乎作者 @k8seasy 则认为这个基本属于站点本身故障。从恢复时间看 30 分钟左右,并且几乎 100% 恢复,说明应该是某个核心组件崩溃了,导致核心服务不可用。
出现这种可能的不少,最有可能的原因是上线新版本,开始没问题,升级了部分集群,结果新版本有 Bug,到了某个时刻直接挂了,老版本的压力一大也没扛住。然后紧急定位,回滚解决。
也有网友提出,此次事件与云服务商离不开干系:
云服务提供商提供的 CDN 出现意外之后,大量请求绕过 CDN 直接打到网关,网关收到大量请求,自动启动了容灾策略。
容灾策略启动服务降级。服务降级了但没完全降,CDN 挂了,网关也跟着挂了,服务雪崩,一直崩到整个环境。
下一篇:昨晚,B站崩了一段时间……