Spring Cloud Hystrix 无法在服务器端工作

问题描述 投票:0回答:1

我正在使用 Spring Cloud 2024.x 并尝试实现 Hystrix 以实现服务弹性。 部署信息:

  1. 春云2024.0.0
  2. 春季启动3.4.1
  3. spring-cloud-starter-netflix-eureka-client 4.2.0
  4. spring-cloud-starter-netflix-hystrix 2.2.10.RELEASE

服务已成功注册到Eureka,在浏览器中访问

localhost:8001/dept/hello
工作正常。但是,在主应用类中添加
@EnableHystrix
并将
@HystrixCommand
添加到
/dept/hello
对应的控制器方法后,似乎并没有生效。

@GetMapping("/hello")
@HystrixCommand(fallbackMethod = "processHystrix")
public String hello() {

    if ("Node3".equals(providerName)) {
        throw new RuntimeException();
    }
    return "Hello Spring Cloud " + providerName;
}

public String processHystrix() {
    return "Sorry, Current Service is down, please wait few minutes....";
}

我在网上搜索了很多答案,但似乎都没有解决我的问题。

spring-cloud hystrix
1个回答
0
投票

不再支持 Hystrix。

由 Resilience4j 支持的

Spring Cloud Circuitbreaker 是替代品。

org.springframework.cloud:spring-cloud-starter-circuitbreaker-resilience4j
导入您的
build.gradle
pom.xml

@Service
public static class DemoControllerService {

    private final CircuitBreakerFactory cbFactory;


    public String normal() {
        return cbFactory.create("normal")
            .run(() -> rest.getForObject("/normal", String.class), t -> "fallback");
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.