10 月,开发者不可错过的开源大数据大会-2021 WeDataSphere 社区大会深圳站 了解详情
写点什么

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

2021 年 7 月 14 日

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 年 7 月 14 日 16:217036

评论 2 条评论

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

有哪些好用的团队文档和技术资料管理的工具?

万事ONES

在线文档 ONES 协同办公

细说.NET 缓存

喵叔

7月日更

从装大象中我们学会了什么设计模式

skow

Java 面试 后端 设计模式

目前有哪些好用的用例管理工具?

万事ONES

测试用例 ONES 测试管理

云图说|ASM灰度发布,让服务发布变得更敏捷、更安全

华为云开发者社区

灰度发布 application 云图说 应用服务网格服务 Service Mesh (ASM)

数牍科技亮相上海 AI 基金“AI 驱动企业转型” 应用场景战略合作仪式,隐私计算拓展AI应用疆域

Geek_459987

[TcaplusDB]倏忽温风至,因循小暑来

数据人er

数据库 nosql tencentdb TcaplusDB

有哪些适合大型系统的项目开发管理工具?

万事ONES

项目管理 研发管理 ONES

智能猫量化机器人炒币系统开发【专业定制、现成源码】

获客I3O6O643Z97

DAPP智能合约交易系统开发 量化策略 量化跟单 量化交易源码

全面解读自动驾驶数据存储关键

焱融科技

人工智能 自动驾驶 云计算 高性能 文件存储

玩转Spring Boot Actuator集成,基操,勿六

白亦杨

Java

台达DOP-100系列触摸屏(LUA程序编写用户管理应用)

林建

lua 台达 触摸屏 用户管理 DOP-100

详解 nebula 2.0 性能测试和 nebula-importer 数据导入调优

Nebula Graph

数据库 开源 图数据库

前端智能化 or 低代码,也许不是个选择题

清秋

前端 低代码 智能化

日更总结 6月日更 21天写作

万里无云万里天

6月日更 日更总结

Go 学习笔记之 函数

架构精进之路

Go 7月日更

【LeetCode】 H 指数 IIJava题解

HQ数字卡

算法 LeetCode 7月日更

铂金10:能工巧匠-ThreadLocal如何为线程打造私有数据空间

技术八点半

Java 后端 多线程 并发

Eureka可用性解读

赵镇

Eureka

互联网产品经理之需求的一生

路边水果摊

产品经理

阿里P9看了都说牛B!阿里巴巴史上最牛的分布式核心原理深度解析全彩手册

Java架构追梦

Java 阿里巴巴 架构 面试 分布式核心原理解析

Takin Talks·上海 |开源后首场主题研讨会来了,一起解密Takin技术吧!

数列科技

10万QPS,K6、Gatling和FunTester对比测试

FunTester

性能测试 接口测试 测试框架 压力测试 测试开发

FIL币最新价格怎么样?FIL币最新消息是什么?

NNB牛气冲天系统软件开发搭建

揪出那个无主键的表

Simon

MySQL 主键

由浅入深C A S

程序猿阿星

CAS 自旋锁

我写什么,你们决定

喵叔

英特尔中国研究院宋继强:AI技术已成为推动数字化转型的超级力量|WAIC 2021

新闻科技资讯

鸿蒙轻内核源码分析:掌握信号量使用差异

华为云开发者社区

鸿蒙 数据结构 信号量 结构体 OpenHarmony

工商银行:应用多k8s集群管理及容灾实践

华为云开发者社区

容器 多云 工商银行 k8s集群 Karmada

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