Spring Cloud Gray 配置參數

轉載: https://www.appblog.cn/2020/09/16/Spring%20Cloud%20Gray%20%E9%85%8D%E7%BD%AE%E5%8F%82%E6%95%B0/

管控端

gray.server.discovery

Property Name Default Value Remarks
evictionEnabled true 定時同步註冊中心實例狀態的開關
evictionIntervalTimerInMs 60000 定時同步註冊中心實例狀態的時間間隔(默認60秒),
0表示不創建定時任務
1
2
3
4
5
gray:
  server:
    discovery:
      evictionEnabled: true
      evictionIntervalTimerInMs: 60000

gray.server.instance

Property Name Default Value Remarks
normalInstanceStatus STARTINGUP 正常的實例狀態,默認爲STARTINGUP
實例狀態分別是STARTINGUPOUT_OF_SERVICEDOWNUNKNOWN
1
2
3
4
gray:
  server:
    instance:
      normalInstanceStatus: STARTING,UP

gray.server.instance.eviction

Property Name Default Value Remarks
enabled false 是否啓用實例記錄清除任務(默認爲false)
evictionIntervalTimerInMs 86400000 任務間隔時間,單位爲毫秒(默認1天)
evictionInstanceStatus DOWNUNKNOWN 需要清徐的實例狀態,默認DOWNUNKNOWN
lastUpdateDateExpireDays 1 最後更新時間過期天數,默認1天
1
2
3
4
5
6
7
8
gray:
  server:
    instance:
      eviction:
        enabled: true
        evictionIntervalTimerInMs: 86400000
        evictionInstanceStatus: DOWN,UNKNOWN
        lastUpdateDateExpireDays: 1

客戶端

gray

Property Name Default Value Remarks
enabled false 是否啓用實例記錄清除任務(默認爲false)
grayRouting true 是否灰度路由,如果開啓,將優先對灰度實例進行路由,
如果沒有匹配的灰度實例,再對正常實現進行路由
1
2
3
gray:
  enabled: true
  grayRouting: true

gray.server

灰度管控端相關的配置

Property Name Default Value Remarks
url   灰度管控端的url
可以http://192.168.0.1:8080/uri
也可以是ribbon的風格http://gray-server/uri

loadbalanced false url是否是負載均衡的路徑
retryable true 在和灰度服務器通信時,如果交互失敗,是否重試
retryNumberOfRetries 3 重試次數
1
2
3
4
5
6
gray:
  server:
    url: http://gray-server
    loadbalanced: false
    retryable: true
    retryNumberOfRetries: 3

gray.client

Property Name Default Value Remarks
runenv web 運行環境(默認web)
serviceInitializeDelayTimeInMs 40000 實始化灰度信息的延遲時間<默認40秒>
serviceUpdateIntervalTimerInMs 60000 定時從管控端更新灰度實例信息的間隔時間(默認60秒)
0表示不創建定時任務
1
2
3
4
5
gray:
  client:
  runenv: web
  serviceInitializeDelayTimeInMs: 40000
  serviceUpdateIntervalTimerInMs: 60000

gray.client.instance

實例自身相關的灰度參數,比如自動註冊灰度實例。

Property Name Default Value Remarks
grayEnroll false 是否自動註冊爲灰度服務,默認false
grayEnrollDealyTimeInMs 40000 觸發自動註冊的延遲時間
1
2
3
4
5
gray:
  client:
  instance:
    grayEnroll: true
    grayEnrollDealyTimeInMs: 40000

gray.client.caches

緩存的配置屬性,目前實例的灰度決策緩存策略(grayDecision)已應用

Property Name Default Value Remarks
maximumSize 1000 最大緩存數
expireSeconds 60 過期時間(秒)
1
2
3
4
5
6
gray:
  client:
    caches:
      grayDecision:
        maximumSize: 1000
        expireSeconds: 60

gray.request

http request相關的配置

Property Name Default Value Remarks
loadBody false 是否記錄請求body,不推薦
1
2
3
gray:
  request:
    loadBody: false

gray.request.track

灰度追蹤相關的配置

Property Name Default Value Remarks
enabled true 是否啓用灰度追蹤
trackType web 追蹤類型: web環境
definitionsUpdateIntervalTimerInMs 60000 定時從拉取最新的追蹤信息的間隔時間
definitionsInitializeDelayTimeInMs 40000 初始化追蹤信息的延遲時間
1
2
3
4
5
6
7
gray:
  request:
    track:
      enabled: true
      trackType:  web
      definitionsUpdateIntervalTimerInMs: 60000
      definitionsInitializeDelayTimeInMs: 40000

gray.request.track.web

Property Name Default Value Remarks
pathPatterns /* Filter攔截的uri,多個用逗號分隔
excludePathPatterns   Filter攔截排除的uri,多個用逗號分隔
1
2
3
4
5
6
gray:
  request:
    track:
      web:
        pathPatterns: /*
        excludePathPatterns: /static/*

gray.request.track.web.trackDefinitions

追蹤項配置。這部分可以在項目中配置好,也可以在管控端編輯。優先級以管控端優先,項目配置次之。

Property Name Default Value Remarks
name   追蹤項的名稱
value   追蹤項的內容(字段),多個用逗號分隔
1
2
3
4
5
6
7
gray:
  request:
    track:
      web:
        trackDefinitions:
          name: HttpHeader
          value: varsion

gray.holdoutServer

Ribbon的舉例,Ribbon在路由轉發時,只會將請求轉發給實例狀態爲UP的Server。 如果在新版本上線過程中,希望上線的實例不影響正常用戶,同時又能在線上進行測試,這就需要Ribbon能夠將特定的請求轉發給不是UP狀態的實例。通過該配置,可以實現。

Property Name Default Value Remarks
enabled false 是否開啓
services   配置服務可以被轉發的實例狀態,該參數爲Map<String, List>類型
zoneAffinity false 是否開啓區域親和
cacheable false 是否緩存
1
2
3
4
5
6
7
gray:
  holdout-server:
    enabled: false
    zoneAffinity: false
    cacheable: false
    services:
      service-a: STARTING

gray.hystrix

Hystrix的相關配置

Property Name Default Value Remarks
enabled false 是否加載灰度hystrix的相關配置與實現類
threadTransmitStrategy WRAP_CALLABLE 線程變量傳遞策略,分別WRAP_CALLABLE,HYSTRIX_REQUEST_LOCAL_STORAGE
WRAP_CALLABLE: 使用com.netflix.hystrix.strategy.concurrency.HystrixConcurrencyStrategy實現
HYSTRIX_REQUEST_LOCAL_STORAGE: 使用com.netflix.hystrix.strategy.concurrency.HystrixRequestVariableDefault實現

1
2
3
4
gray:
  hystrix:
    enabled: true
    threadTransmitStrategy: WRAP_CALLABLE
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章