写点什么

B 站崩了:事情不大,影响不小

  • 2021-07-14
  • 本文字数:1692 字

    阅读完需:约 6 分钟

B站崩了:事情不大,影响不小

7 月 13 日晚间,B 站因无法访问登上热搜榜。


昨天深夜,B 站出现访问故障,无法打开,页面提示加载失败。除了网站和移动端显示加载错误之外,B 站出品的轻视频、剪辑软件必剪等均无法打开,显示页面加载出错。



一个网站的短暂崩溃,居然引起这么大的声响?


公司 2020 年第三季度财报显示,去年 8 月,B 站的月活用户突破 2 亿。最新数据则显示,B 站月活用户为 2.23 亿,其中 35 岁及以下的月活用户比重超过 86%。


B 站故障之后,消息迅速扩散,“B 站崩了”冲上了各种热搜榜。微博热搜第一,知乎的提问下截至目前为止,总共有 12727 个回复。连朋友圈里,都被 B 站技术总监分享过的“高可用架构实践”演讲刷屏。



故障持续了一个多小时,同时崩溃的还有老牌二次元网站 AcFun(A 站)以及豆瓣、晋江,但豆瓣、A 站等很快就得以恢复了。


一个网站的“崩溃”,让无数习惯了互联网生活的人睡不着觉,也有不少网友一起帮忙分析到底是互联网的哪个环节出了问题,甚至还因此惊动了消防局。


对于网传“B 站崩了是因为有火情发生”,上海消防辟谣道:“经了解,位于上海市政立路 485 号国正中心内的哔哩哔哩弹幕网 B 站(总部)未出现火情,未接到相关报警。具体情况以站方公布为准。”


今年 3 月份,曾发生过数据中心失火造成 360 万网站下线的事故,因此有人猜测是云海数据服务中心发生了火情,消防也对此表示了极大关注。



什么原因会导致网站宕机?


至 14 日凌晨 2 点 15 分,B 站所有功能均恢复正常。B 站官方 7 月 14 日凌晨发布消息称,昨(7 月 13 日)晚,B 站的部分服务器机房发生故障,造成无法访问。技术团队随即进行了问题排查和修复,现在服务已经陆续恢复正常。


但是对于具体宕机原因,B 站并未作说明。InfoQ 联系了 B 站相关技术人员询问具体情况,截止发稿前仍然没有得到答复。


对于网站宕机常见原因,开源基础软件公司 Zilliz 的质量保障团队负责人乔燕良认为,主要可分为软件服务引起的故障和硬件服务引起的故障。


软件服务故障一般可理解为代码逻辑缺陷,常见的是新增或更新某个功能而引入缺陷导致整个服务中断;硬件服务故障一般是由于某些服务设备的损坏造成服务中断,比如光纤被挖断了。


互联网服务中链路的每个环节都有可能导致问题发生,据另一位数据库专家分析,因为这次 B 站主站都挂了,应该和数据库没有关系;宕机发生的时候,通过技术分析,可以看出 CDN 查不到相关机房的数据。由此推测,B 站这次应该属于机房级别的故障,需要增强多机房容灾能力。




这次故障,对 B 站的影响不小,综合损失应该也不小,但如果去提升业务的连续性,还需要很大成本。常见的可用性通常以百分比表示,这也意味着高可用性不是绝对的。换句话说,100% 的可用性是不可能达到的,可用性从 99.99% 提升到 99.999%,每提升一个 9,需要十倍百倍的成本。可用性的效果和开销对应的比例并不是线性增长的,每提高一点可用性,所花费的成本都会远超之前。


虽然企业需要在这个非线性增加的成本和可用性之间进行权衡,但对于一些公司来讲,肯定还会去尝试获得更多的 “9”,减少应用的宕机时间,降低宕机成本。


如何用合适手段降低宕机风险、提高服务的高可用呢?乔燕良认为:“首先从架构上,建议采用云原生架构,实现自动容错机制和故障隔离,能够在服务出现故障时快速迁移或回滚。对于网站来说,实现数据服务高可用的挑战可能会比较突出,因为目前架构下多数服务都是无状态的、可以完成平滑迁移,而数据服务往往是有状态的,云原生服务(如目前的一些云原生数据库)通常具有很好的自动容错、弹性伸缩、安全隔离等功能。其次为防止硬件故障类风险,需要有完善的灾备方案。针对传统服务架构已经有比较成熟的同城双活和异地灾备方案,而基于云原生的高可用方案,比如 kubeadm 也已经比较成熟,只是国内企业在这块投入比较‘节约’。”


就像人工智能无法替代人类一样,目前的软件仍然是不可完全信任的。我们的世界瞬息万变,我们的软件(包括人工智能)只是对世界当前场景的理解和判断,随着时间的推进,某一时刻这些理解判断的逻辑会出现不适用甚至错误。这一时刻何时到来、环境又会变得怎样,将永远是最不可预测的因素。


你认为 B 站崩溃是什么原因导致的?欢迎留言讨论。

2021-07-14 16:2115702

评论 2 条评论

发布
用户头像
"主要可分为软件服务引起的故障和硬件服务引起的故障" 听君一席话,如听一席话
2021-08-30 09:47
回复
用户头像
b站一直就不怎么样,卡顿很常见。
2021-07-19 09:22
回复
没有更多了
发现更多内容

Web Service进阶(四)WebService注解

No Silver Bullet

WebService 6月月更

面试突击54:MySQL 常用引擎有哪些?

王磊

Java 面试

linux之zgrep查找压缩包文件文本

入门小站

Linux

Django API 开发:博客系统接入 API

宇宙之一粟

django API 6月月更

mysql基础操作

工程师日月

6月月更

Jetpack Composes 学习【02】Text

坚果

6月月更

SAP 云平台上的 ABAP 编程环境里如何消费第三方服务

汪子熙

云计算 Cloud SAP abap 6月月更

零信任态势评估:CIS安全控制内容与实施

权说安全

网络安全 零信任

低代码平台FlyFish在云智慧的落地实践探索

云智慧AIOps社区

开源 前端 低代码 数据可视化

InfoQ 极客传媒 15 周年庆征文 | Web3.0:互联网的未来

devpoint

区块链 Token InfoQ极客传媒15周年庆

leetcode 79. Word Search 单词搜索

okokabcd

LeetCode 搜索 算法与数据结构

鲲鹏DevKit工具基础知识

乌龟哥哥

6月月更

windows下修改、编译、构建spring-framework4.1.8.RELEASE源码

程序员欣宸

Java SpringFramework 6月月更

在信息化的背景下,如何鼓励员工进行知识共享?

小炮

保姆级教程,龙蜥操作系统安装使用一步到位!

OpenAnolis小助手

开源 操作系统 安装 配置 龙蜥

后端提升技术资源汇总

卢卡多多

技术栈 资源汇总 6月月更

【愚公系列】2022年06月 二十三种设计模式(二十三)-访问者模式(Vistor Pattern)

愚公搬代码

6月月更

【Python技能树共建】断言

梦想橡皮擦

Python 6月月更

java培训高频Spring面试题分享

@零度

spring JAVA开发

【技能树共建】Python requests 模块

梦想橡皮擦

6月月更

Kafka 负载均衡在 vivo 的落地实践

vivo互联网技术

大数据 kafka 负载均衡 集群

HTML代码清除CSS和JS代码

入门小站

工具

原来Mysql索引要这么设计才能起飞

慕枫技术笔记

MySQL索引 6月月更

前端导出 excel(基于 Blob.js 和 Export2Excel.js 做前端导出)

CRMEB

Linux驱动开发_mplayer播放器开发

DS小龙哥

6月月更

工厂函数和构造函数

大熊G

JavaScript 前端 6月月更

实时数据湖在字节跳动的实践

字节跳动数据平台

字节跳动 数据湖 实时数据 湖仓一体

Fabric.js 锁定背景图,不受缩放和拖拽的影响🎃

德育处主任

web前端 canvas FabricJS Fabric.js 6月月更

【高并发】高并发分布式锁架构解密,不是所有的锁都是分布式锁!!

冰河

并发编程 多线程 高并发 异步编程 6月月更

String源码解读(JDK1.8)

莫逸风

Java 源码 string 6月月更

注意了,ribbon将被替换

Damon

6月月更

B站崩了:事情不大,影响不小_架构_Tina_InfoQ精选文章