fix:fix zuul delay circuit breaker. (#1519)

pull/1520/head
Haotian Zhang 5 months ago committed by GitHub
parent 472e5d5655
commit 2a70a2ae78
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -19,4 +19,5 @@
- [feat: support 2.0.0](https://github.com/Tencent/spring-cloud-tencent/pull/1458)
- [feat: support 2.0.0 config](https://github.com/Tencent/spring-cloud-tencent/pull/1463)
- [feat:upgrade trace plugin.](https://github.com/Tencent/spring-cloud-tencent/pull/1467)
- [feat:upgrade 2.0.0 service.](https://github.com/Tencent/spring-cloud-tencent/pull/1471)
- [feat:upgrade 2.0.0 service.](https://github.com/Tencent/spring-cloud-tencent/pull/1471)
- [fix:fix zuul delay circuit breaker.](https://github.com/Tencent/spring-cloud-tencent/pull/1519)

@ -90,7 +90,7 @@
<properties>
<!-- Project revision -->
<revision>2.0.0.0-Hoxton.SR12</revision>
<revision>2.0.0.1-Hoxton.SR12</revision>
<!-- Spring Framework -->
<spring.framework.version>5.2.25.RELEASE</spring.framework.version>

@ -70,7 +70,7 @@
</developers>
<properties>
<revision>2.0.0.0-Hoxton.SR12</revision>
<revision>2.0.0.1-Hoxton.SR12</revision>
<!-- Dependencies -->
<polaris.version>2.0.0.0</polaris.version>

@ -23,7 +23,6 @@ import reactor.core.publisher.Mono;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.cloud.client.circuitbreaker.CircuitBreakerFactory;
import org.springframework.cloud.client.circuitbreaker.ReactiveCircuitBreakerFactory;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
@ -64,9 +63,6 @@ public class CircuitBreakerController {
@Autowired
private CircuitBreakerFactory circuitBreakerFactory;
@Autowired
private ReactiveCircuitBreakerFactory reactiveCircuitBreakerFactory;
@Autowired
private WebClient.Builder webClientBuilder;
@ -178,11 +174,6 @@ public class CircuitBreakerController {
.get()
.uri("/quickstart/callee/circuitBreak")
.retrieve()
.bodyToMono(String.class)
.transform(it ->
reactiveCircuitBreakerFactory
.create(MetadataContext.LOCAL_NAMESPACE + "QuickstartCalleeService#/quickstart/callee/circuitBreak#http#GET")
.run(it, throwable -> Mono.just("fallback: trigger the refuse for service callee"))
);
.bodyToMono(String.class);
}
}

@ -23,3 +23,6 @@ zuul:
QuickstartCallerService:
serviceId: QuickstartCallerService
path: /QuickstartCallerService/**
QuickstartCalleeService:
serviceId: QuickstartCalleeService
path: /QuickstartCalleeService/**

@ -35,6 +35,8 @@ import org.slf4j.LoggerFactory;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
import static com.tencent.cloud.common.constant.ContextConstant.Zuul.POLARIS_PRE_ROUTE_TIME;
/**
* Polaris circuit breaker implement in Zuul.
*
@ -75,6 +77,7 @@ public class EnhancedZuulPluginRunner {
enhancedPluginContext.setRequest(enhancedRequestContext);
enhancedPluginContext.setOriginRequest(context);
enhancedPluginContext.setLocalServiceInstance(pluginRunner.getLocalServiceInstance());
context.set(POLARIS_PRE_ROUTE_TIME, System.currentTimeMillis());
// Run pre enhanced plugins.
pluginRunner.run(EnhancedPluginType.Client.PRE, enhancedPluginContext);

Loading…
Cancel
Save