B站 服务崩溃问题浅析2021/7/13日晚

本文分析了B站2021年7月13日晚服务崩溃事件,指出可能是由于单个微服务导致的大规模服务雪崩。文章探讨了CDN的内容分发网络原理及其在高峰期应对压力的重要性,以及服务降级、熔断等高可用策略。B站使用自研的负载均衡器和其他高可用服务,但此次事故中CDN和缓存失效对源站造成巨大压力,揭示了系统架构中的潜在风险。
摘要由CSDN通过智能技术生成

14日凌晨,B站发布消息称:

昨晚,B站的部分服务器机房发生故障,造成无法访问。技术团队随即进行了问题排查和修复,现在服务已经陆续恢复正常。耽误大家看视频了,对不起!

已知:

  • Bilibili,Acfun,豆瓣都出现崩溃404.
  • 豆瓣和Acfun很快恢复,Bilibili大约用了一个小时让用户能够正常访问。
  • Bilibili直播是可以正常观看的,朋友看吃鸡直播没有受到影响。
  • B站高可用用架构实践 - 云+社区 - 腾讯云 (tencent.com)
  • 根据上面文章可知,Bilibili的LB(负载均衡器)是自研的,一系列为了高可用配套的服务和中间件都是自研的。
  • 在逐渐可以访问主站时,推荐系统并没有推荐正常的视频给用户。

看知乎余歌[1]分析说:

a. Bilibili、Acfun、豆瓣等的云服务供应商出现了问题。但是不清楚CDN出现问题还是挂载着容器的机器出问题

假设是容器出现问题,一个工作正常的LB会访问其他可用的容器。在这种情况下很难出现昨天的问题,毕竟Bilibili这么大一公司也不会把鸡蛋放在一个篮子里,肯定是异地多机房容灾。而且Bilibili这种大型视频网站,读请求和读流量肯定大部分走的都是CDN和缓存,发生这种情况的概率要小很多,另一种情况的概率很大。

那么另一种可能是CDN出现了问题,假设CDN出现了问题,大量读请求发送到CDN,由于供应商出现意外,请求无法在CDN上找到资源,大量请求回源到Bilibili主站。这是一个比较合理的情况。

进行了一个猜测。7 / 14 Bilibili出现问题的整体流程可能如下:

1. 云服务供应商出现意外,大量请求绕过CDN直接打到应用网关,多家互联网公司的主站发生无法访问的现象。

2.1 豆瓣,Acfun等公司的运维收到告警,紧急切换了CDN,或启动了容灾策略进行降流,系统正常对外提供服务。

2.2 Bilibili同样收到告警,启动了容灾策略,但是当时正是Bilibili流量高峰期,有两个可能:

2.2.1 自研的LB没办法处理这么多请求,直接崩了

但是如果LB崩了,只需要切换C
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值