SpringCloud Gateway接入Eureka

2023-05-25  本文已影响0人  饱饱想要的灵感
  1. 在Gateway微服务项目中引入Eureka客户端的依赖:
<dependencies>
    <!-- 引入Spring Cloud Eureka客户端依赖 -->
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
    </dependency>
    <!-- ... -->
</dependencies>
  1. application.yml中配置Eureka客户端的具体参数:
spring:
  application:
    name: gateway-service
  cloud:
    gateway:
      routes:
        - id: user-service              # 指定Route ID
          uri: lb://user-service       # 指定服务实例的URI
          predicates:
            - Path=/user/**          # 匹配路径/users/**
  # 配置Eureka客户端注册中心的地址
  # 如果和Eureka Server部署在同一台机器,可以使用localhost或127.0.0.1
  # 如果采用Docker部署,可以用Docker容器的名字
  eureka:
    client:
      service-url:
        defaultZone: http://eureka-server:8761/eureka/
  1. 在启动类上添加注解@EnableEurekaClient
@EnableEurekaClient
@SpringBootApplication
public class GatewayApplication {
    public static void main(String[] args) {
        SpringApplication.run(GatewayApplication.class, args);
    }
}

这里我们配置了一个名为user-service的路由,将所有/user/**的请求转发到user-service服务上,服务的地址使用了lb://开头,表示启用了负载均衡。

由于Gateway与Eureka集成,所以当user-service实例数发生变化时,Gateway会自动监测到,并进行负载均衡。

当有新的请求过来时,Gateway会自动根据请求的URI来选择最合适的服务实例来处理请求。

上一篇 下一篇

猜你喜欢

热点阅读