问题描述
我正在使用Spring Cloud网关并尝试使用断路器。在网关中,我为网关(cricketer-gateway)中的服务(cricketer-service)添加了一个fallback(failover-service)方法。 故障转移服务可以单独正常运行。故障切换服务在application.properties中名为 cricketer-failover-service 。
网关配置
@Configuration
public class RoutesConfig {
@Bean
public RouteLocator routes(RouteLocatorBuilder builder) {
return builder.routes()
.route(r -> r.path("/cricketers*")
.filters(f -> f.circuitBreaker(c -> c.setName("cricketerFb")
.setFallbackUri("forward:/cricketer-failover")
.setRouteId("cricketer-failover")
))
.uri("lb://cricketer-service")
.id("cricketer-service"))
.route(r -> r.path("/cricketer-failover*")
.uri("lb://cricketer-failover-service")
.id("cricketer-failover-service"))
.build();
}
当我关闭服务然后点击端点时,我会收到一个异常
2020-08-30 14:17:28.670错误14766 --- [或-http-epoll-3] com.netflix.hystrix.AbstractCommand:HystrixCommand的不可恢复错误,因此将引发HystrixRuntimeException而不会应用回退。 >
java.lang.Exception: Throwable caught while executing.
at com.netflix.hystrix.AbstractCommand.getExceptionFromThrowable(AbstractCommand.java:1976) ~[hystrix-core-1.5.18.jar:1.5.18]
Stacktrace-https://gist.github.com/nirmalks/4adb8b64955625df6b5a22469f106bfe 代码-https://github.com/nirmalks/cricketer-microservice/tree/hystrix-fallback-err
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)