谈谈稳定性

作者: 日更专用小马甲 | 来源:发表于2019-04-05 22:07 被阅读3次

谈到稳定性,首先想到的肯定是SLA。

SLA全称Service Level Agreement,即服务等级协议,是服务供应商和客户就服务质量、可用性等方面达成的一种共识。[1]

通常我们会说,某某服务的可用性达到了5个9(99.999%),这其实是可用性方面更通俗易懂的一种说法。

具体到某个具体的业务,通常会先确定一个核心指标,然后一切都围绕着它进行。

比如搜索,一般定义就是从用户点击“搜索”的那一刻起,是否能在合理时间内(通常是小于1秒)返回准确的结果。基于这一定义,通常会建立1条代表每秒搜索量(以下简称pv)和1条每秒搜索异常(超时,白页之类,以下简称pv lost)的曲线。

再围绕这2条曲线可以做很多事情,比如,每次上线时,先上线5%的机器,观察pv lost是否有波动,如果没有明显异常再进行后续批次的上线。再比如,通过监控pv曲线是否有明显的下跌来判断是否发生了网络劫持。

从核心指标本身出发,可以分2个视角:如何尽可能的提高服务的可用时间,以及如何尽可能缩短服务不可用的时间。

说起来服务不可用的最大因素首推“变更”,业内的共识是:一个经过线上充分验证又停止迭代的业务一般是不太会出问题的。这里的变更除了狭义上的程序变动之外还包括配置变动,数据库变动等等。

当然,并不是放着不动就一定不会有问题。程序会OOM,服务器会宕机,网络会抖,光纤会断,机柜会断电,云服务会故障……根据墨菲定律,大部分时候意外总能不期而至。因此业务部署最起码需要做到主备(并且不能在同一机柜上);同城最起码需要有灾备,如果是冷备还要经常切流演练;做的好一些通常是同城双活,甚至是两地三中心或者异地多活。

除了单纯的防止不可用,还要尽量保证线上业务好用。如果等个10秒钟才勉强返回结果当然也是没意义的。因此,线上业务需要定期压测,静态资源做CDN,用户访问要就近,攻击要有拒绝策略。

这里有一个比较好的做法是服务要做降级。当然降级的前提是服务要分级。时间关系,我们埋个坑,且听下回分解。

相关文章

  • 谈谈稳定性

    谈到稳定性,首先想到的肯定是SLA。 SLA全称Service Level Agreement,即服务等级协议,是...

  • 谈谈系统稳定性设计

    作者淇公,蚂蚁金服技术专家,热爱java和一些函数式语言,长期关注系统稳定性领域 一、差旅随想 因为base在分公...

  • 谈谈系统稳定性设计

    因为base在分公司,需要经常去总部出差,所以搭乘飞机成了家常便饭,很多时候坐在飞机上会不由的感叹,设计制造这样精...

  • 谈谈MCU和PLC稳定性问题

    前段时间经常有人说:“PLC比MCU稳定,所以MCU不合适在工业使用”。就此问题,笔者做出一个解释 1、MCU 单...

  • 图说体外诊断试剂注册系列5——稳定性研究

    稳定性研究的内容包括实时稳定性、运输稳定性、使用稳定性和样本稳定性 参考资料: http://www.caivd-...

  • iOS 浅谈APP性能优化

    做一款APP,它的的性能稳定性问题使我们有限要考虑的,首先我们从几个大方向去谈谈这个问题. 1.APP 的启动 启...

  • 【时间管理专题】若水06:锚点,稳定的节奏感

    之前主要写了通过建立习惯来形成执行计划的持续性输出,接下来将从建立锚点来谈谈行动的稳定性。 我是一个海贼火影迷,记...

  • ios单元测试:OCUnit

    单元测试虽然很耗时间,但是对于项目整体而言却是很有必要的,大大的增加了项目的稳定性,特别是团队开发中。下面就谈谈O...

  • iOS App 稳定性指标及监测

    iOS App 稳定性指标及监测 iOS App 稳定性指标及监测

  • Android系统稳定性简述

    一. 稳定性简述 Android系统稳定性对于用户体验至关重要. 对于稳定性问题从表现来看有: 死机重启, 自动关...

网友评论

    本文标题:谈谈稳定性

    本文链接:https://www.haomeiwen.com/subject/efxkiqtx.html