网易云音乐故障 2 小时,这次到底谁背锅?(今天记得领补偿)

大家好,我是程序员鱼皮,8 月 19 日下午,网易云音乐突发严重故障,并登顶微博热搜,跟黑神话悟空抢了热度。

根据用户的反馈,故障的具体表现为:用户无法登录、歌单加载失败、播放信息获取失败、无法搜索歌曲等等,几乎是无法使用了,妥妥的 P0 级事故!

根据官方发布的说明,本次故障的主要原因是基础设施,导致网易云音乐各端无法正常使用:

什么是基础设施?是指支持整个系统运行的基础性服务和资源,包括服务器、网络设备、数据库、存储系统、内容分发网络(CDN)、各种云服务、缓存、DNS、负载均衡等等。像之前 B 站和小红书大规模故障,就是因为某云服务商的网络出了问题,可见基础设施的重要性。

我不是内部人员,所以具体的故障原因不得而知,网上有很多猜测,什么 “开发删库跑路”、“搬迁到新机房产生了问题”、“裁员导致降本增笑” 等等,但这些说法被官方否认了。

根据网上的消息,这次的故障可能与网易云自研的 Curve 存储系统有关,当时网易官方称该存储系统上线 400 多天,从未出现数据不一致和丢数据的情况,数据可靠性达到 100%,服务可用性高达 4 个 9(99.99%)。

按理说稳定运行了这么久的系统不应该自己出问题,据说是一位同学按照前人的文档执行了一个运维操作,导致了存储系统的故障。一般来说,这么重要的基础设施的变更发布需要走非常完备的流程,而且不会让不熟悉的人按照前人的文档执行,除非有一种情况,就是 “前人” 已经不在了。根据网上消息,该部门曾经历过裁员,更有小道消息说,该部门仅存的人员寥寥无几。

真相我们不得而知,不过听上去挺合理的。因为一般情况下,大厂内部是有灰度发布、容灾演练的,不会直接影响到所有用户。

  • 灰度发布是指在更新 IT 基础设施时,采用逐步部署的方式,先在一部分设备上进行变更,观察其效果。如果一切正常,才逐步扩大变更范围。
  • 容灾演练是指对基础设施在灾难发生时的应急响应和恢复能力进行测试和验证,确保在关键的基础设施发生故障或灾难时,系统能够迅速恢复,减少业务中断的影响。

大厂的架构师,尤其是基础设施团队的人员,一定是知道这些操作的,但为什么没有执行呢?可能是因为人手不够、也可能是因为懒、还可能是因为现在的人缺失经验、还有可能是前人留下的文档不全。总之,系统的稳定性和 “人” 有很大的关系。

让我又想到了上次微软全球蓝屏的事情,果然严重的 Bug 往往只需要一两名程序员、或者一些小的操作。

整个故障恢复历时整整 2 个小时,已经是比较慢了,采用预备方案恢复服务、或者屏蔽部分故障、或者回滚发布,应该都要不了这些时间,估计是数据出了问题吧。如果在故障中数据出现了损坏或不一致,恢复服务的难度的确会大大增加,为了确保数据完整性,可能需要进行数据恢复、重建索引、同步数据等操作,而这些都可能会延长故障恢复的时间。

目前还没有看到官方的故障报告,所以这一切只是猜测了。

故障恢复后,网易云音乐很快发布了补偿措施 —— 用户可以免费领取 7 天会员权益! 注意,只能在 8 月 20 日领取!

进入云音乐就能在搜索条看到领会员的入口了,虽然只有 7 天,差点儿意思,但作为一名网易云音乐 10 级会员,我必须领爆!

从这个事情也能看出来,一旦故障发生了,头大的可不只有开发和运维人员!产品同学需要快速制定补偿策略,确保用户满意;运营和客服要紧急应对用户的疑问和投诉,安抚情绪;而公关则必须迅速应对舆论压力,控制事态发展,防止负面影响扩散。同时,管理层还需统筹协调各部门,确保问题得到全面处理。

我们自己也做了很多产品,也发生过故障,我们这小规模应对起来都汗流浃背了,很难想象网易云音乐这种国民级产品背后的团队,昨天承受了多大压力。劳力越戴,责任越大呀!

朋友们,你们怎么看待这次故障,有怀疑过自己网络或设备的问题么?

更多编程学习资源

  • Java前端程序员必做项目实战教程+毕设网站
  • 程序员免费编程学习交流社区(自学必备)
  • 程序员保姆级求职写简历指南(找工作必备)
  • 程序员免费面试刷题网站工具(找工作必备)
  • 最新Java零基础入门学习路线 + Java教程
  • 最新Python零基础入门学习路线 + Python教程
  • 最新前端零基础入门学习路线 + 前端教程
  • 最新数据结构和算法零基础入门学习路线 + 算法教程
  • 最新C++零基础入门学习路线、C++教程
  • 最新数据库零基础入门学习路线 + 数据库教程
  • 最新Redis零基础入门学习路线 + Redis教程
  • 最新计算机基础入门学习路线 + 计算机基础教程
  • 最新小程序入门学习路线 + 小程序开发教程
  • 最新SQL零基础入门学习路线 + SQL教程
  • 最新Linux零基础入门学习路线 + Linux教程
  • 最新Git/GitHub零基础入门学习路线 + Git教程
  • 最新操作系统零基础入门学习路线 + 操作系统教程
  • 最新计算机网络零基础入门学习路线 + 计算机网络教程
  • 最新设计模式零基础入门学习路线 + 设计模式教程
  • 最新软件工程零基础入门学习路线 + 软件工程教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/870923.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

PromptEngineering:ReAct 框架(LangChain 使用的 Agents 框架)

今天介绍 ReAct 框架,前面介绍的提示工程技术除了 CoT 大家可能很少接触到,那么今天的主角会稍有名气。ReAct 是著名工具 LangChain 最主要的代理类型。 ReAct 的全称是《语言模型中的协同推理和同步》[1], 论文名字是《ReAct: Synergizing …

源码构建LAMP

目录 一、安装Apache 二、安装Mysql 三、安装PHP 四、安装论坛 一、安装Apache 1.cd 到opt目录下面,将压缩包拉进Xhell 2.解压缩apr和httpd压缩包 tar xf apr-1.6.2.tar.gz tar xf apr-util-1.6.0.tar.gz tar xf httpd-2.4.29.tar.bz2 3.将apr-1.6.2 移动到ht…

数学建模预测类—【多元线性回归】

每日名言:成名每在穷苦日,败事多因得意时 目录 文章目录 前言 二、参数估计 三、多元线性回归模型和回归系数的检验 四、预测 总结 前言 本文将根据回归建模过程来讲解多元线性回归模型,有关回归分析的知识以及一元线性回归的内容可以戳…

stm32的UART重定向printf()

1配置好uart 2打开usart.c文件 3在此文件前面添加头文件 4在末尾添加重定向代码 添加的代码 /* USER CODE BEGIN 1 *///加入以下代码,支持printf函数,而不需要选择use MicroLIB //#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f) #if 1 //#pragma import(__use_n…

暑假算法刷题日记 Day 10

目录 重点整理 054、 拼数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 055、 求第k小的数 题目描述 输入格式 输出格式 输入输出样例 核心思路 代码 总结 这几天我们主要刷了洛谷上排序算法对应的一些题目,相对来说比较简单 一共是13道…

什么是逃逸分析

如何快速判断是否逃逸就看方法内new的对象实体是否能够被外部方法进行调用 什么是逃逸分析 在java虚拟机中,对象是在java堆中分配内存的,这是一个普遍的常识。但是,有一种特殊情况,那就是如果经过逃逸分析(escape an…

【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面(一)

学完时间:2024年8月14日 一、前言叨叨 学习HarmonyOS的第六课,人数又成功的降了500名左右,到了3575人了。 二、ArkWeb 1、概念介绍 ArkWeb是用于应用程序中显示Web页面内容的Web组件,为开发者提供页面加载、页面交互、页面调…

『功能项目』移动后的光标显示【04】

我们打开上一篇03的射线双击项目, 本章要做的事情是在PlayerRayNavgation脚本中添加一个移动光标,实现人物在场景中鼠标点击移动后在移动过程中出现移动目标光标的效果。 在unity编辑器中创建一个Plane 重命名为MovementSign 删掉碰撞器 创建一个材质 选…

Linux安装MQTT 服务器(图文教程)

MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,专为低带宽和不稳定的网络环境设计,非常适合物联网(IoT)应用。 官网地址:https://www.emqx.com/ 一、版本选择 根据自己…

C++学习笔记----4、用C++进行程序设计(一)---- 什么是面向对象的程序设计

也许你看到这个题目的时候,就觉得这篇博文不用看了,难道这就是题目劝退了观众。我看到过一些程序,是由面向过程的传统程序修改过来了,只是将原来的函数变成了类的成员函数,其他几乎没有什么变化,可以说是换…

【leetcode详解】T3137(思路详解 代码优化感悟)

思路详解 要解决这个问题,我们的大致思路是这样:找到长度为k的字符串 (记为stringA) ,统计重复次数最多的那一个,则最终对应的k周期字符串就是 [stringA * n] 的形式( n word.length() / k) 要实现多对象的计数&…

easyexcel--导入导出实现自定义格式转换

自定义格式 我们在数据库设计的时候经常会有枚举类型,如0表示普通用户,1表示VIP用户等,这在excel导入的时候,我们会填普通用户而不是0,这样就需要用到自定义格式把普通用户转换成0,我写了一个通用的抽象类…

LabVIEW多协议智能流水线控制与监控系统

在自动化流水线系统,实现对流水线传送带、机械臂、报警系统、扫码机、喷码机等设备的高效控制和实时监控。该系统需要支持多种通信协议,包括UDP、串口、ModbusTCP、HTTP、以及MQTT协议,以确保各个设备间的无缝连接和数据交换。 系统架构与模…

软考:软件设计师 — 14.算法基础

十四. 算法基础 1. 算法的特性 算法是对特定问题求解步骤的描述,它是指令的有限序列,其中每一条指令表示一个或多个操作。 有穷性:执行有穷步之后结束,且每一步都可在有穷时间内完成。确定性:算法中每一条指令必须有…

使用对比!SLS 数据加工 SPL 与旧版 DSL 场景对照

作者:灵圣 概述 如前一篇《SLS 数据加工全面升级,集成 SPL 语法》所述,SLS 数据加工集成了 SLS 数据处理语法 SPL。与旧版本数据加工 DSL 相比,SPL 在处理非结构化数据的场景中,其语法简洁度上有很多提升&#xff0c…

Linux ubuntu 24.04 运行《文明5》游戏,解决游戏中文设置的问题!

Linux ubuntu 24.04 运行《文明5》游戏,解决游戏中文设置的问题! 《文明5》是一款回合制经营策略游戏,拼的就是科技发展速度,点的是科技树,抢的就是科技制高点,但是真的是时间漫长,可能需要好几…

游戏开发之性能优化

游戏开发中的性能优化是一个复杂且多方面的过程,涉及到多个层面的改进和调整。以下是一些主要的优化技巧和方法: 代码优化: 缓存计算结果:对于那些耗费大量CPU计算而计算结果无需每帧变化的逻辑,使用缓存可以显著提高性…

UniformSampling 均匀采样滤波(附PCL库的C++代码)

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言一、原理二、算法步骤三、算法实现参考链接前言 认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长! 本文先对UniformSam…

XSS游戏

目录 XSS游戏-WarmupsMa Spaghet!JefffUgandan KnucklesRicardo MilosAh Thats HawtLigmaMafiaOk, BoomerWW3 XSS游戏-Warmups Ma Spaghet! 1. 尝试注入&#xff0c;输入aaaaaaaa 2. 显示在<h2>标签内3. 输入标签&#xff0c;添加onmouseover属性值为alert(1337)&…

物流抓取机器人整体设计方案

一、功能简介 1、运行环境&#xff1a;巡线行驶&#xff08;7路数字循迹&#xff0c;麦克纳姆轮车底盘&#xff09; 2、目标识别&#xff1a;颜色识别&#xff08;Maix-II Dock 视觉模块&#xff09; 3、目标定位&#xff1a;视觉测距&#xff08;Maix-II Dock 视觉模块&#x…