2

我有以下带有功能区的 Spring Cloud Gateway 配置

server:
  port: 8080

spring:
  cloud:
    gateway:
      routes:
        - id: UserModule
          uri: lb://load-balanced-service-user
          predicates:
            - Path=/api/user/**
ribbon:
  eureka:
    enabled: false
Load-balanced-service-user:
  ribbon:
    listOfServers: localhost:9999,localhost:8888

现在我想删除 Ribbon 并用 spring cloud load balancer 替换。

我添加了

 <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
        </dependency>

现在我需要在我的 application.yaml 文件中添加什么其他配置才能切换到 Spring Cloud 负载均衡器?我想在 .yaml 文件上添加配置。我不想用 .yaml 文件中配置的功能区破坏旧结构。

4

1 回答 1

5

如果您使用的是Hoxton发布火车,则需要设置spring.cloud.loadbarancer.ribbon.enabledfalse. 据我所知,您使用的是静态服务器列表而不是服务注册表。在 LoadBalancer 中,您可以通过添加 properties-backed 来实现SimpleDiscoveryClient。请注意,要为此类静态实例重现功能区的健康检查行为,我们建议使用实例健康检查机制并禁用负载均衡器缓存,因为实例健康检查机制提供了另一种缓存机制。

于 2020-10-12T11:17:32.910 回答