测试一年多,上线就崩溃!微服务到底应该怎么测试?
简介: 只有了解风险,才能及时应对,保障服务高可用。 不久前,也就是11月16日,澳大利亚交易所(Australian Securities Exchange, ASX)上线了一个新的交易系统,但因为出现故障而被迫关闭。这是其 2016 年因硬件故障导致休市后最为严重的一次事故。 测试了一年多,结果上线当天就奔溃 11 月 16 日中午,ASX 发布声明表示当天将休市,于次日正常时间重新开放。交易所给出的关闭的原因是“局限于单个交易指令中交易多种证券(组合交易)的软件问题导致了市场数据不准确。” ASX 此次升级的系统是由纳斯达克开发的最新一代交易系统,目前在全球广泛使用。为了保障上线后的安全运行,ASX、技术提供商纳斯达克( Nasdaq )、客户和第三方独立专家已经做了一年多的广泛测试,包括四次彩排。 微服务该如何测试? 看完了热闹,也看看咱们自己的系统。随着以 Spring Cloud、Dubbo 为代表的微服务架构的流行,现在很多企业都采用了微服务架构。随着服务越来越多,这些服务该如何测试?如何防范上面说的系统风险呢? 我们来捋一捋线上系统的风险,然后针对对应的风险来做对应的测试计划。以如下架构为例: 一般来说,一个业务系统的风险来自两处: 其一是 变更带来的风险 ,比如前面提到的新系统上线,或者我们给上图中的购物车服务修一个 bug 等等。 其二是 日常风险