在Spring Cloud中,Gateway可以通过配置文件来实现负载均衡。以下是一个简单的配置示例,它演示了如何将请求代理到名为service-instance的服务的两个不同实例。
bash
spring:
cloud:
gateway:
routes:
- id: service-instance-route
uri: lb://service-instance
predicates:
- Path=/service/**
filters:
- RewritePath=/service/(?<segment>.*), /$\{segment}
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
在这个配置中:
id是路由的唯一标识符。
uri指定了服务的名称,前缀lb://表示这是一个负载均衡的请求。
predicates定义了路由的匹配条件,这里是路径相匹配/service/**的请求。
filters定义了可能应用于请求的过滤器,这里的RewritePath过滤器用于重写URL路径。
确保你的Eureka服务注册中心配置是正确的,服务实例service-instance至少有两个运行实例注册到Eureka。
当请求到达Gateway时,它会根据service-instance在Eureka中注册的信息自动进行负载均衡。