微博平台的稳定与容灾测试
作者:网络转载 发布时间:[ 2014/1/26 9:32:02 ] 推荐标签:容灾测试 稳定测试
马年春节将至,鉴于今年微博将与春晚合作,复杂的业务以及庞大的用户访问量对微博的稳定性提出了重大的考验,维持微博的稳定是一项防御工作,并不如开发新产品一样具有激进性,但是一旦防线崩溃,后果是不堪设想的。
何为稳定、为何不稳定
何为稳定的系统?这里的稳定是指工作状态及结果符合预期,达到期望的目标。在微博,引起不稳定的因素很多,依赖的资源服务异常、硬件故障、流量突增、代码bug以及服务升级等。为了在诸多的不稳定因素和频繁的变更下依旧保持系统稳定,微博平台采取了“容错设计”和“容灾演练”两大措施。
容错设计
分层隔离:将多个服务共同依赖的资源进行隔离,从而确保一个服务出现异常时另一个服务不受影响。对微博核心业务进行物理隔离,保证微博核心业务如feed服务正常运行。分层隔离并不能解决故障,但能够用低的成本解决故障。
超时控制:超时控制,包括对资源的超时控制以及接口的超时控制,其定位:对任何依赖不能无止境的信任!对不靠谱的依赖该放弃放弃!
队列阻塞:对于并发多的服务,增加请求队列,对于必要的依赖要有一定的容忍度,限定在Agreement之内。同时,对于不能消化的请求将会尽早的抛弃,避免流量过大,导致服务crash。
开关容错:包括各种自动及手动降级开关,如守护进程实时监控hbase或mysql存储响应时间,如果超过阀值,将自动快速失败。手动开关是在必要时切断一切依赖。
容量规划:单机容量(qps) = 大处理线程数/单次请求平均响应时间。每季度一次容量评估,重大活动提前评估,日常30%的冗余。
容灾演练
做好以上,我们的系统稳定了吗?这些仍然不够,做到真正的全面防御,还需要设计出各种突发的异常场景,并对其进行演练,因此诞生了容灾演练平台——TouchStone。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11