在 Spring Cloud Gateway 中将配置从 Ribbon 更改为 Spring Cloud Load Balancer

问题描述 投票:0回答:1

我有以下带功能区的 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 负载均衡器。

我添加了

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

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

spring-boot spring-cloud-netflix spring-cloud-gateway spring-cloud-loadbalancer
1个回答
5
投票

如果您使用

Hoxton
释放列车,则需要将
spring.cloud.loadbalancer.ribbon.enabled
设置为
false
。据我所知,您使用的是静态服务器列表而不是服务注册表。在 LoadBalancer 中,您可以通过添加属性支持的
SimpleDiscoveryClient
来实现这一点。请注意,要为此类静态实例重现功能区的运行状况检查行为,我们建议使用实例运行状况检查机制并禁用负载均衡器缓存,因为实例运行状况检查机制提供了替代缓存机制。

© www.soinside.com 2019 - 2024. All rights reserved.