网关在微服务中起到了对用户身份的认证,权限的效验,限流和负载均衡,所以也有特别重要的意义。这篇文章我们就搭建一个gateway网关,首先打开我们之前的项目,新建一个module
eureka-server不能选 纠正!!!!!不然会冲突
配置我们的配置文件(注解打的详细了,就不做解释了)
# 应用名称
spring.application.name=gateway
# 应用服务 WEB 访问端口
server.port=10101
#注册到eureka
eureka.client.service-url.defaultZone=http://localhost:8080/eureka/
#路由配置-------------数组!!!!!!
#id设置唯一标识
#设置路由id
spring.cloud.gateway.routes[0].id=demo2
#设置路由的uri
spring.cloud.gateway.routes[0].uri=lb://DEMO2
#设置路由断言,代理servicerId为auth-service的/auth/路径
spring.cloud.gateway.routes[0].predicates[0]=Path=/demo2/**
yml文件
eureka:
instance:
hostname: 34.........120 #本机ip地址,可不配
preferIpAddress: true
instance-id; ${spring.cloud.client.ipAddress}:${server.port}
environment: local #如果使用config 统一配置 environment也不需要
client:
registerWithEureka: false #表示是否注册自身到eureka服务器, 做集群是设置成true 生产配置为true
fetchRegistry: false #表示是否从eureka服务器获得注册信息,生产配置为true
registry-fetch-interval-seconds: 5 #默认为30s 生产使用缺省时间,测试环境修改小点
lease-renewal-interval-in-seconds: 5 #心跳时间,生产使用缺省时间,即服务续约间隔时间(缺省为30秒,生产使用缺省时间,测试环境修改小点)
lease-expiration-duration-in-seconds: 10 #发呆时间,即服务续约到期时间(缺省为90秒,生产使用缺省时间,测试环境修改小点)
serviceUrl:
defaultZone: http://localhost:8761/eureka
server:
enableSelfPreservation: true #关闭自我保护模式(缺省为打开)
eviction-interval-timer-in-ms: 5000 #续期时间,即扫描失效服务的间隔时间(缺省为60*1000ms),测试环境修改小点
现在启动我们的所有模块进行测试
正常运行 ,方式二
注掉我们的配置
启动类中重新注入(来自文档 Spring Cloud Gateway)
重新运行项目,结果还是一样的