Springcloud config + zuul 搭建動態網關


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM