1,實現的效果,就是zuul 網關的配置路由實現負載均衡,zuul 的配置文件放在springcloud config 上
2,需要的服務如下:
3,其實就是配置下springcloud-zuul 的配置,連接到springcloud-config
maven:在原來的zuul 基礎上,加上spring-config-client 和監控中心(手動刷新用的)
<!-- actuator監控中心 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> <!-- springcloud config 2.0 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-client</artifactId> </dependency>
bootstrap.yml
spring: application: ####注冊中心應用名稱 name: service-zuul cloud: config: ####讀取后綴 profile: dev ####讀取config-server注冊地址 discovery: service-id: config-server enabled: true #####eureka服務注冊地址 eureka: client: service-url: defaultZone: http://localhost:8100/eureka server: port: 80 #配置手動實時刷新 #managementendpoints.web.exposure.include=* management: endpoints: web: exposure: include: "*"
git 上的配置文件如下:service-zuul-dev-yml
### 配置網關反向代理 zuul: routes: api-member: ### 以 /api-member/訪問轉發到會員服務 path: /api-member/** serviceId: app-aiyuesheng-member api-order: ### 以 /api-order/訪問轉發到訂單服務 path: /api-order/** serviceId: app-aiyuesheng-order
如果配置文件修改了,參照springcloud-config 手動刷新,只不過,他需要在啟動類加上這個
@RefreshScope @ConfigurationProperties("zuul") public ZuulProperties zuulProperties() { return new ZuulProperties(); }
再通過post man 發送post 請求:
http://127.0.0.1/actuator/refresh