您现在的位置是:首页 > 文章详情

微服务故障测试

日期:2017-07-07点击:572

在微服务从业者峰会上,Kolton Andrus在演讲中指出,故障测试是运行微服务的一个关键部分。你应该确定微服务的行为同预期一样,以避免停机。

前Netflix软件工程师Andrus将故障测试比作疫苗,为了产生免疫力,向体内注射少量有害的东西。在Andrus看来,这非常符合微服务领域。为了查看微服务的行为,我们向其中注入少量对微服务有害的东西,然后设法建立免疫。

故障测试的缺点是它可能造成影响。它会带来破坏或者造成一些客户影响,但是,如果最终的结果是最坏的事情没有那么坏,而最好的事情相当好,比如,阻止了停机,那么他认为,这种缺点是可控的。

做故障测试,Andrus更喜欢结合故障场景,考虑什么会出错,系统怎么会出错。他认为,提出类似“我们担心什么?”或“会出什么错?”这样的问题,多少会有助于更好地做准备。考虑故障发生的可能性,就可以发现基础设施中应该投入时间的常见事件。不过,他指出,我们不可能什么都准备好,故障总会出现,我们无法看到它们到来,但是,我们要相信,做好准备会让我们更有能力缓解问题。

另一个Andrus认为有助于优先级排序和风险评估的问题是“出错成本是什么?”。然后,可以执行一个成本-收益分析,不仅要考虑会出什么错,而且还要考虑什么可能出错,这有助于决定在哪里投入时间和金钱以获得最好的回报。

Andrus还强调了在生产环境中进行测试的重要性。如果只在测试环境中测试,那么生产环境的配置、网络和硬件都没有测试过,他援引了Amazon Web Services(AWS)著名工程师James Hamilton的一段话:

那些不愿意在生产环境中进行测试的人对他们的服务能够在故障情况下继续运行没有信心。不做生产环境测试,会在需要恢复的时候发现恢复失效了。

如果你做了大量的工作,并创建了缓解问题的方案,但未能在生产环境中进行测试,那么你稍后可能会发现它们在生产环境中无效或者导致故障更糟糕,那可不是一个让人身在其中倍感愉快的境地。

本文转自d1net(转载)

原文链接:https://yq.aliyun.com/articles/141320
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章