spring cloud gateway配置詳解

server:
  port: 9010 #服務端口號

spring:
  application:
    name: micro-sdn-gateway  # 服務名稱
  cloud:
    gateway:
      discovery:
        locator:
          enabled: true#是否適用默認路由(通過gatewayUri:port/服務名/path直接訪問服務接口)
          lowerCaseServiceId: true#是否忽略服務名大小寫
      routes:#gateway配置多條路由規則時注意順序問題,例如本例中路由謂詞爲Query的場景
        #路由規則ID,上下文唯一
        - id: micro-sdn-ptn #路由目標的服務名
          uri: lb://MICRO-SDN-PTN #路由條件:請求中若包含ptn的路徑自動轉發至目標服務
          predicates:
            - Path=/**/ptn/**   #訪問gateway的路由
          filters:
            #- StripPrefix=1 去掉Path中第一個節點
            - name: Retry
              args:
                #重試次數
                retries: 2
                #觸發重試的HTTP狀態返回碼
                #多個參數用-連接
                statuses: BAD_GATEWAY
                #參考同上,series與statuses二選一即可
                series:
                  - SERVER_ERROR#表示5xx,以5開頭的各種狀態碼
                exceptions:#有以下異常時觸發重試,此處注意timeout的時間與熔斷設置的時間
                  - java.util.concurrent.TimeoutException
                  - java.net.ConnectException
                  
         #根據url攜帶參數"?app-name=collect1"匹配路由目標
         #例http://localhost:9010/test?app-name=collect1
        - id: micro-sdn-collect1
          uri: lb://MICRO-SDN-COLLECT1
          predicates:
            - Query=app-name,collect1#參數謂詞只有一個參數時,匹配url中的變量名app-name;兩個參數則同時匹配變量與值

        - id: micro-sdn-collect
          uri: lb://MICRO-SDN-COLLECT
          predicates:
            - Query=app-name,collect

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章