把zuul项目当成configClient端,在zuul项目的pom文件中新增依赖
<!-- SpringBoot整合Web组件 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-client</artifactId> </dependency> <!-- actuator监控中心 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
配置文件
###注册 中心 eureka: client: serviceUrl: defaultZone: http://localhost:8100/eureka/ server: port: 80 ###git上配置文件的名称 spring: application: name: zuulConfig cloud: config: ####环境名称(后缀) profile: dev ####读取config-server注册地址 discovery: service-id: config-server ###开启读取 enabled: true #手动刷新 management: endpoints: web: exposure: include: "*"
码云上的配置文件
在zuul项目的启动类中添加如下方法
@RefreshScope @ConfigurationProperties("zuul") public ZuulProperties zuulProperties() { return new ZuulProperties(); }
启动Eureka、order项目、member项目、zuul项目。
访问http://localhost/api-order/toMember?name=22&userToken=111
然后把码云里面的配置文件改一下,把api-order改成order
手动刷新,使用postman访问http://127.0.0.1/actuator/refresh
然后访问http://localhost/order/toMember?name=22&userToken=111
实现不重启网关服务实时刷新配置。
zuul网关的搭建和springcloudConfig配置中心的搭建前面的博客已经说过了,如下
SpringcloudConfig中configClient端不重启项目,手动刷新同步
springcloud中使用zuul网关实现反向代理和zuul过滤器