微服务故障测试

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
注册配置 MSE Nacos/ZooKeeper,182元/月
云原生网关 MSE Higress,422元/月
简介:

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

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

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

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

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

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

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

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

本文转自d1net(转载)

相关文章
|
1月前
|
测试技术 微服务
使用Istio实现流量镜像:提升微服务测试的利器
使用Istio实现流量镜像:提升微服务测试的利器
171 99
|
JavaScript 前端开发 Java
一文让你了解微服务契约测试
谈到微服务,大家都想到契约测试,到底什么是契约测试呢,为什么要使用契约测试呢,关于这样的文章很多,本文将结合Spring Boot让你了解微服务契约测试。
176 0
一文让你了解微服务契约测试
|
安全 测试技术 持续交付
微服务的测试策略
【8月更文第29天】随着微服务架构的普及,测试变得尤为重要,因为它有助于确保各个独立的服务都能正确运行并且能够协同工作。本文将介绍一种全面的测试策略,包括单元测试、集成测试和端到端测试,以及如何为微服务应用编写这些测试。
486 1
|
关系型数据库 测试技术 Go
Go语言微服务框架 - 5.GORM库的适配sqlmock的单元测试
与此同时,我们也缺乏一个有效的手段来验证自己编写的相关代码。如果依靠连接到真实的MySQL去验证功能,那成本实在太高。那么,这里我们就引入一个经典的sqlmock框架,并配合对数据库相关代码的修改,来实现相关代码的可测试性。
285 0
|
测试技术 调度 微服务
微服务架构下的两类测试
【7月更文挑战第16天】微服务架构下的两类测试:流量录制回放测试和仿真环境测试
|
安全 数据库连接 数据库
可靠性测试-故障注入工具
【7月更文挑战第19天】可靠性测试中的故障注入工具对评估系统容错性与稳定性至关重要。常见工具如 **FaultInjector** (模拟多类故障)、**Xception** (针对特定组件注入错误) 和 **Chaos Monkey** (验证云环境下系统弹性) 帮助开发者提前发现潜在问题, 优化系统设计, 如电商公司通过测试确保促销期稳定, 金融机构降低交易风险。选择合适工具并结合业务场景测试对提升可靠性至关重要。
472 0
|
域名解析 运维 网络协议
微服务常用故障处理机制
【2月更文挑战第11天】微服务系统可能出现故障的种类,主要有三种故障:集群故障、单 IDC 故障、单机故障。
|
Kubernetes jenkins 测试技术
【Kubernetes的DevOps自动化,Jenkins上的Pipeline实现自动化构建、测试、部署、发布以及Bookinginfo实例的部署灰度发布故障注入流量】
【Kubernetes的DevOps自动化,Jenkins上的Pipeline实现自动化构建、测试、部署、发布以及Bookinginfo实例的部署灰度发布故障注入流量】
512 1
|
数据可视化 Java 测试技术
微服务轮子项目(47) -压力测试工具
微服务轮子项目(47) -压力测试工具
171 0
|
SQL Java 测试技术
微服务轮子项目(46) -SonarQube静态代码测试
微服务轮子项目(46) -SonarQube静态代码测试
147 0

热门文章

最新文章