1、引入eureka依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2、在网关服务启动类上配置服务发现注解
@SpringBootApplication
//eureka的服务发现
@EnableDiscoveryClient
public class GatewayServerApplication {
public static void main(String[] args) {
SpringApplication.run(GatewayServerApplication.class,args);
}
}
3、在yml中配置注册中心的配置信息、并配置动态路由
server:
port: 8080 #端口
spring:
application:
name: api-gateway-server #服务名称
redis:
host: localhost
pool: 6379
database: 0
cloud: #配置SpringCloudGateway的路由
gateway:
routes:
- id: product-service #保持唯一
uri: lb://service-produce #lb://根据微服务名称从注册中心中拉取服务请求路径
predicates:
- Path=/product/**
-
#eureka注册中心
eureka:
client:
service-url:
defaultZone: http://localhost:9000/eureka/
instance:
prefer-ip-address: true #使用ip地址注册
4、测试
再次访问路径:localhost:8080/product/1
可以正常访问。