어떻게 설정 time-out
합니까 spring cloud gateway
?
routeLocatorBuilder.routes()
.route("test-api", r -> r.path("/api/**")).uri(apiLb))
.route("test-doc", r -> r.path("/doc/**")).uri(docLb));
한 번만 시간 초과 를 설정하는 방법이 있습니까 ROUTE
?doc
어떻게 설정 time-out
합니까 spring cloud gateway
?
routeLocatorBuilder.routes()
.route("test-api", r -> r.path("/api/**")).uri(apiLb))
.route("test-doc", r -> r.path("/doc/**")).uri(docLb));
한 번만 시간 초과 를 설정하는 방법이 있습니까 ROUTE
?doc
Spring 문서에서 참조
설정global time-out
spring:
cloud:
gateway:
httpclient:
connect-timeout: 1000
response-timeout: 5s
경로별 시간 제한:-
- id: per_route_timeouts
uri: https://example.org
predicates:
- name: Path
args:
pattern: /delay/{timeout}
metadata:
response-timeout: 200
connect-timeout: 200
Java에서 아래 빈을 추가합니다.
import static org.springframework.cloud.gateway.support.RouteMetadataUtils.CONNECT_TIMEOUT_ATTR;
import static org.springframework.cloud.gateway.support.RouteMetadataUtils.RESPONSE_TIMEOUT_ATTR;
@Bean
public RouteLocator customRouteLocator(RouteLocatorBuilder routeBuilder){
return routeBuilder.routes()
.route("test1", r -> {
return r.host("*.somehost.org").and().path("/somepath")
.filters(f -> f.addRequestHeader("header1", "header-value-1"))
.uri("http://someuri")
.metadata(RESPONSE_TIMEOUT_ATTR, 200)
.metadata(CONNECT_TIMEOUT_ATTR, 200);
})
.build();
}
@Bean
public ReactiveResilience4JCircuitBreakerFactory reactiveResilience4JCircuitBreakerFactory(
final CircuitBreakerRegistry circuitBreakerRegistry, final TimeLimiterRegistry timeLimiterRegistry) {
ReactiveResilience4JCircuitBreakerFactory reactiveResilience4JCircuitBreakerFactory = new
ReactiveResilience4JCircuitBreakerFactory(circuitBreakerRegistry, timeLimiterRegistry);
reactiveResilience4JCircuitBreakerFactory.configureDefault(id -> {
CircuitBreakerConfig circuitBreakerConfig = circuitBreakerRegistry.find(id).isPresent()
? circuitBreakerRegistry.find(id).get().getCircuitBreakerConfig()
: circuitBreakerRegistry.getDefaultConfig();
TimeLimiterConfig timeLimiterConfig = timeLimiterRegistry.find(id).isPresent()
? timeLimiterRegistry.find(id).get().getTimeLimiterConfig()
: timeLimiterRegistry.getDefaultConfig();
return new Resilience4JConfigBuilder(id).circuitBreakerConfig(circuitBreakerConfig)
.timeLimiterConfig(timeLimiterConfig).build();
});
return reactiveResilience4JCircuitBreakerFactory;
}
Junit 5와 함께 Spring Boot에서 SpringRunner를 사용해야 합니까? (0) | 2022.12.08 |
---|---|
테스트를 위해 ServerResponse에서 본문을 문자열로 가져오는 방법은 무엇입니까? (0) | 2022.12.08 |
Command Metric Stream에 연결할 수 없습니다. Hystrix 대시보드 문제 (0) | 2022.12.08 |
스프링 컨트롤러에 대한 빠른 사용방법(예제) (0) | 2022.12.08 |
스프링 MVC 예제 (0) | 2022.12.08 |