首页 > 其他分享 >羽雀服务宕机带来的稳定性思考

羽雀服务宕机带来的稳定性思考

时间:2023-10-25 14:45:03浏览次数:29  
标签:服务 修复 宕机 灰度 羽雀 思考 变更

前天下午羽雀服务宕机的事情,圈子里传的很火,影响范围挺大,很不幸,我就是那个被影响的渺小之一。

经常看我文章的同学应该都知道,我更新频次算是很高的。作为羽雀的深度使用用户,日常我创作的内容,基本都是在羽雀里写好,然后复制到公众号等平台进行发布。

本来昨天应该更新的内容,由于羽雀服务宕机的事情,只能放到明天再推送了。今天这篇文章,聊聊这次羽雀服务宕机给我带来的一些思考。

 

宕机事故开始时间大概是周一下午14点10分,我正在写一篇技术实践类的文章。

最初只是不断弹窗提示登录认证的auth过期,刷新无果后我尝试退出重新登录,结果页面直接无响应,我就猜到可能羽雀的服务出问题了,还和一个认识的阿里技术大佬开玩笑说,你们的服务挂了,但我估计很快就能恢复。

为什么这么说?首先阿里作为互联网大厂,监控告警肯定做的很完善了,出了问题很快就能监控发现并告警。

其次在稳定性保障领域的技术实践中,阿里提出的1-5-15机制(1分钟发现问题,5分钟介入问题修复,15分钟故障恢复)很知名,出于对大厂技术能力和应急机制的信任,也是我觉得会很快就能恢复服务的重要原因。

最后一点原因则是,羽雀现在也有付费会员和企业付费的业务,这种面相几百上千万用户的付费产品,对产品稳定性的要求会很高。

但最终的结果却很惨,故障导致的服务不可用时长超过8小时,对企业级千万用户规模的产品来说,这是不可接受的。无论是个人用户还是企业用户,由此导致的直接和间接损失会很大。

像我这种个人用户还好,顶多只是个人的文章创作要延后发布。但很多企业用户的需求文档,技术方案甚至与合作伙伴的沟通对接文档,都无法按时对接,甚至会导致整个项目的进度延期,进而导致合作关系和信任程度的丧失。

 

事后羽雀也发布了事故复盘报告和后续的改进措施:

1、升级硬件版本和机型,实现离线后的快速上线。该措施在本次故障修复中已完成;

2、运维团队加强运维工具的质量保障与测试,杜绝此类运维 bug 再次发生;

3、缩小运维动作灰度范围,增加灰度时间,提前发现 bug;

4、从架构和高可用层面改进服务,为语雀增加存储系统的异地灾备。

对于个人用户,赔偿力度相对来说诚意很大:

针对语雀个人用户,我们赠送 6 个月的会员服务。操作流程:进入工作台「账户设置」,点击左侧「会员信息」,在会员信息页面点击「立即领取」,即可获得赠送服务。

但对于企业用户来说,故障造成的直接和间接损失,以及信任度的下降,则是不可估量的。

 

近几年业内对于系统稳定性保障的技术实践案例有很多,比如:生产全链路压测、异地多活、混沌工程、SRE。很多的线上故障都是由变更导致的,在涉及线上变更操作时,业内也有很经典的三可:可监控+可灰度、可回滚。

可监控:线上服务和业务的各项活动指标都纳入监控范围,指标数值出现异常能及时发现并快速进行介入修复。这方面的建设,除了技术上不断完善之外,良好的oncall机制和灾备演练也需要长期的建设过程。

可灰度:线上的变更首先在灰度环境进行,小范围小批次进行变更,然后观察一段时间,确认无误再进行更大范围的变更操作,然后持续观测,确保变更不会对线上服务的正常运行造成影响。

可回滚:如果变更后线上出现异常则及时介入,判断能否快速修复。如不能,则对变更的操作进行回滚,即让系统回到变更前的稳定状态。相比于修复问题,线上服务的正常运行无疑是最重要的,因此也有了所谓的“线上出现问题,首先保障业务止血恢复运行,再进行分析定位和修复验证”的实践准则。

 

当然,只要是人构建的系统,或多或少都会出问题。作为工程师要考虑的,一方面是降低出问题的概率和影响范围;另一方面则是即使出问题也要做到尽快发现和修复

其中还包含一个前提和一个兜底:前提是优先保障业务正常运行,兜底是要线上服务要时刻有应急措施和手段,即所谓的应急预案来作为服务稳定性保障的兜底

 

标签:服务,修复,宕机,灰度,羽雀,思考,变更
From: https://www.cnblogs.com/imyalost/p/17787181.html

相关文章

  • 关于“语雀故障公告”的学习与思考:可监控!可灰度!可回滚!
    你好呀,我是歪歪。昨天晚上语雀发布了关于10月23日的故障公告,公告中关于故障的时间点梳理如下:这是公告链接:https://mp.weixin.qq.com/s/WFLLU8R4bmiqv6OGa-QMcw14:07数据存储运维团队收到监控系统报警,定位到原因是存储在升级中因新的运维工具bug导致节点机器下线;14:15......
  • Compose动画原理-我的一点小思考
    思想Compose的动画系统是基于值系统的动画,和传统的基于回调的动画不同,Compose的动画api通常对外暴露一个可观察的随时间改变的状态,进而驱动重组或者重绘,从而达成动画的效果基本使用可见性动画使用AnimatedVisibility,内容尺寸动画用animateContentSize,根据不同的状态展示不同的Com......
  • 一个Docker仓库问题的思考
    近期项目有云上部署要求,产品要打包成docker镜像。之前产品已经发布过docker版本本次只需要需要更新下,于是交代组内另外一个同学更新下镜像,想着应该很简单;中间经过熟悉docker知识点搭建环境等,过了大概2天,跟我反馈:环境搭建好了,但是无法制作镜像,连dockerrunhelloworld也报错,错误信......
  • 小程序技术未来发展的思考 - 更多的原生能力
    近年来,小程序技术在移动应用开发领域取得了巨大的成功。微信小程序、支付宝小程序、百度小程序等等,都已经成为了用户日常生活中的一部分。小程序的兴起为开发者提供了一个全新的机会,但随着市场的竞争不断加剧,小程序技术的未来发展也面临着新的挑战。在本文中,我们将探讨小程序技术未......
  • 编程学习思考
    编程学习的思考2023-10-2114:50:29星期六(初稿)大家好!自从大一开始进入计算机科学与技术专业学习,便就开始踏入编程的学习之旅。又是一个秋季,整整三年了!三年以来,自然是有不少成长,现在回想,这一路中也遇到很多的挫折,也受到过许多”愚蠢“的思想的影响···,跌跌撞撞地前行,当然在这......
  • 关于多项式右复合三次函数的一些思考
    一个模多项式模数做\(f(ax^3+bx^2+cx+d)\)的可能好实现一些的方法。感觉就是把EI老师的某博客展开写了。理性愉悦。确实常数不是很小,至少我这个做法是这样的。首先处理一下,把任意的三次函数转化成特殊三次函数。可以拆成\((x+d)\circax\circF\),其中\(F=x^3+......
  • 小程序技术未来发展的思考 - 人工智能整合
    随着人工智能(AI)的不断发展和应用,小程序技术也迎来了更多的机会和挑战。在本文中,我们将探讨小程序技术未来的发展趋势,特别是在人工智能整合方面的机会,同时提供一个基于AI的代码演示来展示未来的可能性。小程序与人工智能的结合小程序已经在用户的日常生活中取得了巨大成功,而人工智能......
  • 使用LiME收集主机物理内存的内容时发生宕机
    作者[email protected]现象在一台ARM64的Centos7虚拟机里加载https://github.com/504ensicsLabs/LiME编译出的内核模块时发生宕机:insmodlime.kopath=/root/allmem.dumpformat=raw上面的目的是把机器物理内存的内容全部dump到文件中,大致的实现过程是,遍历系统中所有......
  • 小程序技术未来发展的思考 - 更丰富的生态系统
    随着微信小程序、支付宝小程序和其他各种小程序的普及,小程序技术已经在移动应用开发领域占据了重要位置。然而,小程序的未来发展不仅仅限于便捷性和跨平台性,更丰富的生态系统将是小程序技术未来的一个重要趋势。在本文中,我们将探讨小程序技术未来的发展方向,并提供一个代码演示来展示......
  • games101一些问题及思考
    games101一些问题及思考1.透视投影为什么z值变大从透视投影矩阵可以看出z会变大,但从直观上怎么想呢。想象一段向无穷远处延伸的铁轨,假设有100m,但照片中前一半明显不足50m,后一段明显多于50m,可以体会到近平面和远平面之间的点都会向远平面压缩,使得出现近大远小的情况。2.各个......