本文共 651 字,大约阅读时间需要 2 分钟。
启动Eureka后,接下来我们需要启动一个依赖于Eureka注册的用户微服务。确保用户微服务能够成功注册并响应请求是实验的第一步。
在用户微服务启动后,接下来我们需要启动一个依赖于用户微服务的电影微服务。为了确保电影微服务能够正常运行,我们需要添加必要的依赖项,例如Spring Boot Starter Actuator。
一旦所有微服务都已正常启动,我们可以通过访问相关端点来验证服务的状态。初始状态下,Hystrix的状态显示为UP,说明所有服务都处于正常运行状态,断路器此时是关闭的状态。
为了测试断路器的状态转换,我们可以模拟一个服务故障场景。例如,停止用户微服务后,再次访问相关端点。这时候,我们可以观察到返回的响应数据中包含默认用户信息,表明系统已经执行了回退逻辑。
尽管执行了回退逻辑并返回了默认用户,但此时Hystrix的状态仍然显示为UP。这是因为默认的断路器阈值(5秒内20次失败)尚未达到。在Hystrix中,请求失败、超时、被拒绝以及断路器打开时都会自动执行回退逻辑。
为了更快地触发断路器状态的变化,我们可以通过快速的访问请求来达到阈值。只要请求快速返回,Hystrix的状态就会切换到CiRCUIT_OPEN状态,断路器将永久打开,避免对服务造成更多的损害。
通过以上实验,我们可以清晰地看到断路器状态的转换过程。从最初的UP状态到断路器打开的CiRCUIT_OPEN状态,这一过程反映了Hystrix在处理服务故障时的智能判断和状态管理机制。
转载地址:http://surj.baihongyu.com/