延时 #
延时是一种系统测试方法,它将模拟网络波动带来的延时故意引入系统。它可以用来确定设计或配置的缺陷,并确保系统能够处理故障并从错误条件中恢复。
通过solarmesh,可以方便的在页面注入延时故障,以测试服务的容错性。您可以配置任意延时时间,并将其注入到由solarmesh接管的目标服务中。在配置生效后,您对目标服务的HTTP请求将会延时响应。
试试看 #
假设我们已经部署过bookinfo示例项目(见
快速开始/安装/使用solarctl安装示例项目
),并且为bookinfo示例项目的服务接入了sidecar(见快速开始/接管服务
)
访问我们事先部署好的示例项目bookinfo的页面,多刷新几次,您会发现在没有任何策略干预的情况下,页面中 Book Reviews 一栏呈现三种状态: 红星、黑星和无星,它们的出现概率约为1:1:1。
此时进入SolarMesh的流量视图界面,您可以看到这样的一幅流量拓扑图。
此时可以发现,reviews 服务有3个版本对应着3种状态,我们先在 DestinationRule 上配置 reviews 的版本。
然后在 VirtualService 创建一份http策略,配置延时,我们将2s的延时注入到 reviews 服务上。
配置生效后,访问示例项目bookinfo的页面,发现访问页面明显变慢了。