我无法从 spring-cloud-gateway
说明如何配置负载平衡器。关于我的方法的一些基本事实。
不使用Eureka 或丝带。但计划使用reactiveloadbalancerclientfilter
使用javadsl和yaml过滤器的组合
我需要帮助的是如何配置 lb://
方案后,网关过滤器(第一过滤器),所以我可以路由请求到多个后端服务器。
我的第一个过滤器是:
public RouteLocator routes(RouteLocatorBuilder builder) {
builder.routes().route("rewrite_response_obj", r -> r
.asyncPredicate(serverWebExchange -> {
return Mono.just(serverWebExchange.getRequest().getURI().getPath().contains("mis2"));
})
.filters(f -> {
return f.prefixPath("/")
.modifyRequestBody(String.class, String.class, MediaType.APPLICATION_JSON_VALUE,
(exchange, s) -> Mono.just("2222222"));
}
)
.uri("lb://target-lb")) // How to configure target-lb
.build();
}
spring文档有很多可供使用的参考 lb://xyz
但我找不到他们在哪里配置的?
我试过:
spring:
cloud:
loadbalancer:
ribbon:
enabled: false
instances:
- name: target-lb
servers: http://localhost:8800
但上面说:
2021-03-03 18:49:42.507警告55243---[ctor-http-nio-3]o.s.c.l.core.roundrobinloadbalancer:没有可供服务的服务器:target lb
我的类路径中的库:
spring-cloud-starter-loadbalancer
spring-cloud-starter-gateway
暂无答案!
目前还没有任何答案,快来回答吧!