spring云网关负载均衡

yftpprvb  于 2021-07-13  发布在  Java
关注(0)|答案(0)|浏览(381)

我无法从 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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题