如何更改网关中的负载均衡算法

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

我正在 Spring Boot 3.1.2 中开发一个基于微服务的应用程序。我需要更改网关负载均衡器内置的默认算法(服务器端的负载均衡是强制性的),具体来说我需要集成加权响应时间算法,我知道这个算法已经存在于Spring Cloud中。

该应用程序具有三个微服务:

  • 尤里卡
  • 网关
  • 微服务随机

Eureka 和 Gateway 类默认,微服务随机只有一条返回端口的路由。配置为:

尤里卡(应用程序.属性)

server.port=8761
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
spring.application.name=eureka-server

网关(应用程序.属性)

server.port=8080
spring.main.web-application-type=reactive

eureka.instance.hostname=localhost
eureka.client.serviceUrl.defaultZone=http://${eureka.instance.hostname}:8761/eureka/

spring.cloud.loadbalancer.ribbon.enabled=false
spring.cloud.loadbalancer.enabled=true
spring.cloud.gateway.discovery.locator.enabled=true

spring.cloud.gateway.httpclient.wiretap=true

spring.cloud.gateway.routes[0].id=mrrandom
spring.cloud.gateway.routes[0].uri=lb://MRRANDOM
spring.cloud.gateway.routes[0].predicates[0]=Path=/**

我应该更改配置(application.properties)还是创建配置类?

我搜索了官方文档,但没有找到,功能区有所有内容,但功能区已弃用,所有互联网示例都使用客户端负载平衡,但我需要服务器端负载平衡。

java spring-boot load-balancing netflix-eureka spring-cloud-gateway
1个回答
0
投票

请查看 Spring 云负载均衡器文档中的“加权负载均衡”。这肯定会解决你的问题。另外,您将需要根据您的要求编写适当的代码。

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