行业事故---语雀

news2024/10/6 6:35:15

文章目录

  • 时间线
  • 剖析
  • 心得

时间线

根据公告中关于故障的时间点梳理如下:

  • 14:07 数据存储运维团队收到监控系统报警,定位到原因是存储在升级中因新的运维工具 bug 导致节点机器下线;
  • 14:15 联系硬件团队尝试将下线机器重新上线;
  • 15:00 确认因存储系统使用的机器类别较老,无法直接操作上线,立即调整恢复方案为从备份系统中恢复存储数据;
  • 15:10 开始新建存储系统,从备份中开始恢复数据,由于语雀数据量庞大,此过程历时较长;
  • 19:00 完成数据恢复,同时为保障数据完整性,在完成恢复后,用时 2 个小时进行数据校验;
  • 21:00 存储系统通过完整性校验,开始和语雀团队联调。
  • 22:00 恢复语雀全部服务,用户所有数据均未丢失。

剖析

多从别人的事故中总结经验教训,学习避坑指南。

  1. 14:07,数据存储运维团队收到了健康系统的报警,然后开始定位问题。微博第一条热搜出现为14:14,说明监控明比用户早感知了7分钟,任何服务公司对于监控都是非常重视的,我所在的公司公司,一切生产问题,只要是有监控手段、是通过监控系统自主发现的、上报故障时间早于用户反馈的,不管最后的情况又多严重,都会一定程度上的减轻惩罚力度。
    – 监控的重要性
  2. 14:15 初步制定解决方案
  3. 15:00 初步方案实践失败。讨论新方案
  4. 15:10 评估新方案,开始执行
  5. 19:00 故障修复
  6. 21:00 测试
  7. 22:00 服务恢复

语雀官方公告改进措施:
通过这次故障我们深刻认识到,语雀作为一款服务千万级客户的文档产品,应该做到更完善的技术风险保障和高可用架构设计,尤其是面向技术变更操作的“可监控,可灰度,可回滚”的系统化建设和流程审计,从同 Region 多副本容灾升级为两地三中心的高可用能力,设计足够的数据和系统几余实现快速恢复,并进行定期的容灾应急演练。只有这样,才能提升严重基础设施故障时的恢复速度,并从根本上避免这类故障再次出现。为此我们制定了如下改进措施

  • 升级硬件版本和机型,实现离线后的快速上线。该措施在本次故障修复中已完成
  • 运维团队加强运维工具的质量保障与测试,杜绝此类运维 bug 再次发生
  • 缩小运维动作灰度范围,增加灰度时间,提前发现 bug;
  • 从架构和高可用层面改进服务,为语雀增加存储系统的异地灾备

心得

  1. 处理生产事件,大家都是火急火燎的,这个时候出来一个说话有分量的人说:大家千万别急,既然事情已经发生了,我们就一点点的把事情做好,不要引入新的问题,防止事态进一步扩散。这个人,他简直就是在发光。
  2. 这里面以这次故障为抓手,结合各团队通力协作,上下游拉通对齐,打出了一套组合拳,对焦本次事故,沉淀出了一份可复用的方法论,想要给系统更好的赋能:
    • 保命箴言:可监控,可灰度,可回滚
    • 能力建设:从同 Region 多副本容灾升级为两地三中心的高可用能力
    • 定时演练:进行定期的容灾应急演练
  3. 在改进措施的部分,我建议所有开发,运维,包括测试同学,都应该把“可监控,可灰度,可回滚”这九个字贴在工位上,刻在脑子里,做方案、写代码、提测前、上线前都把这九个字拿出来咂摸一下。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【c++刷题笔记-数组】day29:452. 用最少数量的箭引爆气球、 435. 无重叠区间 、 763.划分字母区间

452. 用最少数量的箭引爆气球 - 力扣(LeetCode) 思路:先按照左边界排序,当前的左边界大于前一个的右边界的时候,表示没有覆盖所以需要一根箭,反之则要更新为最小的右边界 重点:是区间覆盖问题…

FMEA在大型光伏电站安全生产管理中的应用

一、FMEA概述 FMEA(Failure Modes and Effects Analysis)即失效模式和影响分析,是一种用于识别和分析产品或过程中潜在故障模式及其影响的方法。它通过对产品或过程中可能出现的故障模式进行系统性地梳理和分析,评估其可能的影响…

Day59 动态规划part12

LC115不同的子序列(未掌握) 递推公式与LC392类似,但是初始化略有不同 LC392的dp数组含义为相同字符个数而本体的dp数组含义为出现的次数,因此dp[i][0]1 两种情况 s[i-1]t[j-1] dp[i][j] dp[i-1][j-1]dp[i][j] dp[i-1][j] s[…

CosyVoice - 阿里最新开源语音克隆、文本转语音项目 支持情感控制及粤语 本地一键整合包下载

近日,阿里通义实验室发布开源语音大模型项目FunAudioLLM,而且一次包含两个模型:SenseVoice和CosyVoice。 CosyVoice专注自然语音生成,支持多语言、音色和情感控制,支持中英日粤韩5种语言的生成,效果显著优于…

JAVA集合框架、CAS、AQS

目录 一、java 的集合框架有哪些? 二、说-下 ArrayList 和 LinkedList? 三、HashSet和TreeSet的区别? 四、HashMap 的数据结构是什么? 五、CAS机制 六、AQS理解 一、java 的集合框架有哪些? Collection 是 Java 集合框架中的一个根接口,位于 java.util 包中。它…

那些年背过的面试题——MySQL篇

本文是技术人面试系列 MySQL 篇,面试中关于 MySQL 都需要了解哪些基础?一文带你详细了解,欢迎收藏! WhyMysql? NoSQL 数据库四大家族 列存储 Hbase K-V 存储 Redis 图像存储 Neo4j 文档存储 MongoDB 云存储 OSS …

RabbitMQ中常用的三种交换机【Fanout、Direct、Topic】

目录 1、引入 2、Fanout交换机 案例:利用SpringAMQP演示Fanout交换机的使用 3、Direct交换机 案例:利用SpringAMQP演示Direct交换机的使用 4、Topic交换机 案例:利用SpringAMQP演示Topic交换机的使用 1、引入 真实的生产环境都会经过e…

[240707] X-CMD v0.3.14: cb gh fjo zig 模块增强;新增 lsio 和 pixi 模块

目录 X-CMD 发布 v0.3.14✨ advise:Bash 环境下自动补全时,提供命令的描述信息✨ cb:支持下载指定版本的附件资源✨ gh:支持下载指定版本的附件资源✨ fjo:支持下载指定版本的附件资源✨ zig:新增 pm 和 zon 子命令✨ lsio:用于查…

Maven一键配置阿里云远程仓库,让你的项目依赖飞起来!

文章目录 引言一、为什么选择阿里云Maven仓库?二、如何设置Maven阿里云远程仓库?三、使用阿里云Maven仓库的注意事项总结 引言 在软件开发的世界里,Maven无疑是一个强大的项目管理工具,它能够帮助我们自动化构建、依赖管理和项目…

并发处理 优先图和多重图

优先图(Precedence Graph)视图可串性多重图(Polygraph) 优先图(Precedence Graph) 优先图用于冲突可串性的判断。 优先图结构&#xff1a; 结点 (Node)&#xff1a;事务&#xff1b;有向边 (Arc): Ti → Tj &#xff0c;满足 Ti <s Tj&#xff1b; 存在Ti中的操作A1和Tj…

43、nginx的优化、防盗链、重定向、代理

nginx的优化、防盗链、重定向、代理 一、nginx的优化 1.1、隐藏版本号 server_tokens off;隐藏版本号 [roottest1 conf]# vim nginx.confserver_tokens off;[roottest1 conf]# nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok ngin…

机器学习训练之使用静态图加速

前言 MindSpore有两种运行模式&#xff1a;动态图模式和静态图模式。默认情况下是动态图模式&#xff0c;也可以手工切换为静态图模式。 动态图模式 动态图的特点是计算图的构建和计算同时发生&#xff0c;符合Python的解释执行方式。在调试模型时较为方便&#xff0c;能够实…

科大讯飞-群聊对话角色要素提取:不微调范式模拟官网评分

不微调范式模拟官网评分 step1: 模型api配置及加载测试step2: 数据加载与数据分析&#xff1a;测试集分析:step3: prompt设计:step4 :大模型推理&#xff1a;step 5: 结果评分测试&#xff1a;评分细则&#xff1a;评估指标 参考&#xff1a; 比赛说明&#xff1a; #AI夏令营 #…

从打印到监测:纳米生物墨水助力3D生物打印与组织监测平台?

从打印到监测&#xff1a;纳米生物墨水助力3D生物打印与组织监测平台&#xff1f; 在 3D 组织工程中&#xff0c;纳米生物墨水是将纳米材料与 ECM 水凝胶结合&#xff0c;以提高其打印性和功能性的重要策略。纳米生物墨水可以增强水凝胶的机械性能、导电性、生物活性&#xff…

【Transformer】transformer模型结构学习笔记

文章目录 1. transformer架构2. transformer子层解析3. transformer注意力机制4. transformer部分释疑 图1 transformer模型架构 图2 transformer主要模块简介 图3 encoder-decoder示意图N6 图4 encoder-decoder子层示意图 1. transformer架构 encoder-decoder框架是一种处理NL…

卷积神经网络基础篇

文章目录 1、卷积层1.1、激活函数1.3、sigmoid1.4、Tanh1.5、ReLU1.6、Leaky ReLU1.7、误差计算 2、池化层3、全连接层4、CNN训练 参考链接1 参考链接2 1、卷积层 卷积层&#xff08;Convolutional layer&#xff09;&#xff0c;这一层就是卷积神经网络最重要的一个层次&…

数据库的学习(4)

一、题目 1、创建数据表qrade: CREATE TABLE grade(id INT NOT NULL,sex CHAR(1),firstname VARCHAR(20)NOT NULL,lastname VARCHAR(20)NOT NULL,english FLOAT,math FLOAT,chinese FLOAT ); 2、向数据表grade中插入几条数据: (3,mAllenwiiliam,88.0,92.0 95.0), (4,m,George&…

java版企业工程管理系统源码:全方位的项目管理解决方案

工程管理系统是一款专注于建设工程项目全生命周期管理的软件。它覆盖了项目从策划、设计、施工到竣工的每一个阶段&#xff0c;提供全方位的管理功能。系统采用模块化设计&#xff0c;包括系统管理、系统设置、项目管理、合同管理、预警管理、竣工管理、质量管理、统计报表和工…

centos7.9 rpm包安装mysql8.2.0数据库、root设置客户端登录、配置并发、表名大小写敏感、启动重启指令等记录

centos安装mysql8数据库,下载的是rpm-bundle.tar包,这样可以在内网环境离线安装,工作中医院的服务器很多也是内网的,所以这里记录下rpm-bundle.tar包安装的步骤。 lscpu 查看处理器是x86还是arm 下载对应的版本 bundle tar包 ((mysql-8.2.0-1.el7.x86_64.rpm-bundle.tar))…

打造属于你的私人云盘:在 OrangePi AIpro 上搭建个人云盘

随着数字化时代的到来&#xff0c;数据的存储和管理变得愈发重要。相比于公共云存储服务&#xff0c;搭建一个属于自己的个人云盘不仅能够更好地保护隐私&#xff0c;还可以更灵活地管理数据。 近期刚好收到了一个 香橙派 AIpro 的开发板&#xff0c;借此机会用来搭建一个属于…