spring云网关负载均衡

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

我无法从 spring-cloud-gateway 说明如何配置负载平衡器。关于我的方法的一些基本事实。
不使用Eureka 或丝带。但计划使用reactiveloadbalancerclientfilter
使用javadsl和yaml过滤器的组合
我需要帮助的是如何配置 lb:// 方案后,网关过滤器(第一过滤器),所以我可以路由请求到多个后端服务器。
我的第一个过滤器是:

  1. public RouteLocator routes(RouteLocatorBuilder builder) {
  2. builder.routes().route("rewrite_response_obj", r -> r
  3. .asyncPredicate(serverWebExchange -> {
  4. return Mono.just(serverWebExchange.getRequest().getURI().getPath().contains("mis2"));
  5. })
  6. .filters(f -> {
  7. return f.prefixPath("/")
  8. .modifyRequestBody(String.class, String.class, MediaType.APPLICATION_JSON_VALUE,
  9. (exchange, s) -> Mono.just("2222222"));
  10. }
  11. )
  12. .uri("lb://target-lb")) // How to configure target-lb
  13. .build();
  14. }

spring文档有很多可供使用的参考 lb://xyz 但我找不到他们在哪里配置的?
我试过:

  1. spring:
  2. cloud:
  3. loadbalancer:
  4. ribbon:
  5. enabled: false
  6. instances:
  7. - name: target-lb
  8. servers: http://localhost:8800

但上面说:
2021-03-03 18:49:42.507警告55243---[ctor-http-nio-3]o.s.c.l.core.roundrobinloadbalancer:没有可供服务的服务器:target lb
我的类路径中的库:

  1. spring-cloud-starter-loadbalancer
  2. spring-cloud-starter-gateway

暂无答案!

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

相关问题