《springcloud 二》微服務動態網關,網關集群


動態網關    實際上是網關和分布式配置中心的整合,通過post手動刷新,生效

 

動態網關

傳統方式將路由規則配置在配置文件中,如果路由規則發生了改變,需要重啟服務器。結合整合SpringCloud Config分布式配置中心,實現動態路由規則。

在git上創建一個文件service-zuul-dev.yml

### 配置網關反向代理    
zuul:
  routes:
    api-a:
     ### 以 /api-member/訪問轉發到會員服務
      path: /api-member/**
      serviceId: app-itmayiedu-member
    api-b:
        ### 以 /api-order/訪問轉發到訂單服務
      path: /api-order/**
      serviceId: app-itmayiedu-order

Maven依賴信息

新增監控中心依賴信息

<!-- 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>

application.yml

###服務注冊地址
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8100/eureka/
###api網關端口號      
server:
  port: 80
###網關名稱  
spring:
  application:
    name: service-zuul
  cloud:
    config:
    ####讀取后綴
      profile: dev
      ####讀取config-server注冊地址
      discovery:
        service-id: config-server
        enabled: true    

###默認服務讀取eureka注冊服務列表 默認間隔30秒

###開啟所有監控中心接口
management:
  endpoints:
    web:
      exposure:
        include: "*"

項目啟動

// zuul配置能夠使用config實現實時更新
    @RefreshScope
    @ConfigurationProperties("zuul")
    public ZuulProperties zuulProperties() {
        return new ZuulProperties();
    }

手動刷新接口

http://127.0.0.1/actuator/refresh 

 

網關集群

Zuul網關集群使用Nginx反向代理即可,保證每台網關配置數據相同。

 upstream  backServer{
        server 127.0.0.1:81;
        server 127.0.0.1:82;
    }
    server {
        listen       80;
        server_name  wg.itmayiedu.com;
       location / {
            ### 指定上游服務器負載均衡服務器
            proxy_pass http://backServer/;
            index  index.html index.htm;
        }
    }

 


免責聲明!

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



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