springCloud註冊中心之Eureka配置詳解

Eureka Client配置

eureka.client.service-url

指定eureka服務端的註冊地址 (Eureka Server的分區地址)

這個是客戶端使用的,告訴客戶端服務的地址(讓其知道去哪註冊啊)

eureka.client.service-url 是個map,可以指定多個,有個默認的defaultZone

eureka.client.service-url.defaultZone=http://local.register.com:${server.port}/eureka/

defaultZone是key, http://local.register.com:${server.port}/eureka/是value

 

 

# 這個是客戶端使用的,告訴客戶端服務的地址(讓其知道去哪註冊啊)

eureka.client.service-url.defaultZone=http://local.register.com:${server.port}/eureka/

 

#是否允許重定向,默認false即不允許

#指示服務器是否可以將客戶端請求重定向到備份服務器/羣集。如果設置爲false,服務器將直接處理請求,如果設置爲true,則可以用新的服務器位置將HTTP重定向發送到客戶端。

eureka.client.allow-redirects=false

 

#map 指定可用性區域列表(用於AWS數據中心)。更改後需要等到下一個註冊表週期的運行時生效即需要等 eureka.client.registry-fetch-interval-seconds指定的值

#eureka.client.availability-zones.

#eureka.client.availability-zones.allen = allen_value #allen是map的key,allen_value是map的key(allen)的值

 

# 指定實現BackupRegistry接口的類,用於eureka客戶端無法檢索此註冊表信息,其實沒有必要使用的

eureka.client.backup-registry-impl=

 

#在發生一系列超時的情況下,它是重試延遲的最大乘數值,默認值10

eureka.client.cache-refresh-executor-exponential-back-off-bound=10

 

#指定cacheRefreshExecutor線程池初始化的線程池大小,默認是2

eureka.client.cache-refresh-executor-thread-pool-size=2

 

#指定Eureka客戶端接收EurekaAccept數據的,eg:EurekaAccept.HTTP_X_EUREKA_ACCEPT

eureka.client.client-data-accept=

 

#指定解碼器的稱 是一個臨時配置,一旦最新的編解碼器穩定,就可以刪除(因爲只有一個)。

eureka.client.decoder-name=

#指定編碼器的稱 是一個臨時配置,一旦最新的編解碼器穩定,就可以刪除(因爲只有一個)

eureka.client.encoder-name=

 

#指示eureka客戶端是否應禁用delta的,boolean值即false或true

# 注意delta抓取可以極大地減少流量,因爲eureka服務器的變化率通常遠低於率。這些更改在指定的下一個註冊表週期的運行時生效,按registryFetchIntervalSeconds

eureka.client.disable-delta=

 

#指定eureka服務器序列化/反序列化的信息中“$”符號的替換字符串。默認爲“_-”

eureka.client.dollar-replacement=

eureka服務器序列化/反序列化的信息中“_”符號的的替換字符串。默認爲“__“

eureka.client.escape-char-replacement=

 

#指定eureka客戶端是否可用,默認true(不用管它)

eureka.client.enabled=true

 

#指定連接到 Eureka Server的客戶端,空閒的超時時間(s),默認30即關閉前最大能存活的時間

eureka.client.eureka-connection-idle-timeout-seconds= 30

 

#指示到eureka服務器的連接需要等待多長時間(秒)   超過此時間就是超時。默認5秒

eureka.client.eureka-server-connect-timeout-seconds=5

 

#指定dns的名字,要求useDnsForFetchingServiceUrls爲true

#要查詢的DNS名稱來獲得eureka服務器,此配置只有在eureka服務器ip地址列表是在DNS中才會用到。默認爲null

eureka.client.eureka-server-d-n-s-name=

 

#指示eureka客戶端是否應使用DNS機制來要與之通信的eureka服務器列表。當DNS名稱更新爲具有其他服務器時,eureka客戶端輪詢eurekaServiceUrlPollIntervalSeconds中指定的信息後立即使用該信息。

eureka.client.use-dns-for-fetching-service-urls=true

 

#指定eureka服務的端口

eureka.client.eureka-server-port=

 

#讀取Eureka Server 超時時間(s),默認8秒即讀操作,超時時間8秒

eureka.client.eureka-server-read-timeout-seconds=8

 

#指定本客戶端連接eureka服務端(可能有多個)最大的連接數。默認值200

eureka.client.eureka-server-total-connections=200

 

#指定本客戶端連接一個eureka服務端的最大連接數,默認值50

eureka.client.eureka-server-total-connections-per-host=50

 

#表示eureka註冊中心的路徑,如果配置爲eureka,則爲http://ip:port/eureka/,

#在eureka的配置文件中加入此配置表示eureka作爲客戶端向註冊中心註冊,從而構成eureka集羣。此配置只有在eureka服務器ip地址列表是在DNS中才會用到,默認爲null

eureka.client.eureka-server-u-r-l-context=

 

#詢問Eureka Server信息變化的時間間隔(s),默認爲300秒

Eureka.client.eureka-service-url-poll-interval-seconds=300

 

# eureka服務註冊表信息裏的以逗號隔開的地區名單,如果不這樣返回這些地區名單,則客戶端啓動將會出錯。默認爲null

eureka.client.fetch-remote-regions-registry=

 

#是否過濾掉非up實例,默認爲true

eureka.client.filter-only-up-instances=true

 

#當服務端支持壓縮的情況下,是否支持從服務端的信息進行壓縮。默認爲true

eureka.client.g-zip-content=true

 

#開啓健康檢查,默認true

eureka.client.healthcheck.enabled=true

 

#重試延遲的倍增值,發生一系列超時使用,默認10

eureka.client.heartbeat-executor-exponential-back-off-bound=10

#指定心跳保持線程池初始化線程數,默認2個

eureka.client.heartbeat-executor-thread-pool-size=2

#指定複製初始化實例信息到Eureka服務端的間隔時間,(s),默認40秒

eureka.client.initial-instance-info-replication-interval-seconds=40

#更新實例信息的變化到Eureka服務端的間隔時間,(s),默認30秒

eureka.client.instance-info-replication-interval-seconds=30

#是否記錄eureka服務器和客戶端之間在註冊表的信息方面的差異,默認爲false

eureka.client.log-delta-diff=false

#客戶端的狀態發生變化,需要更新到遠程服務器上,默認爲true

eureka.client.on-demand-update-status-change=true

#用於"CompositeDiscoveryClient",排序的可用客戶端的順序 ,默認0

eureka.client.order=0

#實例是否使用同一zone裏的eureka服務器,默認爲true,理想狀態下,eureka客戶端與服務端是在同一zone下

eureka.client.prefer-same-zone-eureka=true

#指定客戶端的屬性解析器即實現org.springframework.core.env.PropertyResolver接口的類

eureka.client.property-resolver=

 

#eureka服務器的代理主機(如果有)

eureka.client.proxy-host=

eureka.client.proxy-password=

eureka.client.proxy-port=

eureka.client.proxy-user-name=

#客戶端支持刷新

eureka.client.refresh.enable=true

#此實例所在的區域(在AWS數據中心中使用)。

eureka.client.region=

#指示客戶端是否僅對單個VIP的註冊表信息感興趣,默認爲null

eureka.client.registry-refresh-single-vip-address=

#lient 在初始化階段是否強行註冊到註冊中心。默認值false

eureka.client.should-enforce-registration-at-init=false

 

#client在shutdown情況下,是否顯示從註冊中心註銷。默認值true

eureka.client.should-unregister-on-shutdown=true

 

#由於該應用是註冊中心,false:代表不向註冊中心註冊自己;true:代表註冊自己,默認是true

eureka.client.register-with-eureka=false

# 是否啓動檢索服務,由於註冊中心的職責是維護服務實例,所以它不需要檢索服務,默認是true

eureka.client.fetch-registry=false

 

#表示eureka client間隔多久去拉取服務註冊信息,默認爲30秒,對於api-gateway,如果要迅速服務註冊狀態,可以縮小該值,比如5秒

eureka.client.registry-fetch-interval-seconds=5

 

Eureka Server的配置

#asy緩存超時時間、對應

#org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean.aSGCacheExpiryTimeoutMs,默認值10*60*1000

 

eureka.server.a-s-g-cache-expiry-timeout-ms=6001000

#asg查詢超時時間,對應

#org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean.aSGQueryTimeoutMs

eureka.server.a-s-g-query-timeout-ms=300

 

#asg更新間隔時間

#org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean.aSGUpdateIntervalMs

eureka.server.a-s-g-update-interval-ms=

 

#aws訪問的id,主要用於彈性ip綁定,此配置是用於aws上的,默認爲null

#org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean.aWSAccessId

eureka.server.a-w-s-access-id=

 

#aws私有祕鑰,主要用於彈性ip綁定,此配置是用於aws上的,默認爲null

eureka.server.a-w-s-secret-key=

 

#表示集羣節點之間的複製是否爲了網絡效率而進行批處理,默認爲false

eureka.server.batch-replication=true

 

#配置綁定EIP或Route53的策略。

#參考此枚舉com.netflix.eureka.aws.AwsBindingStrategy

eureka.server.binding-strategy=eip

 

#清理任務程序被喚醒的時間間隔,清理過期的增量信息,單位爲毫秒,默認爲30 * 1000

eureka.server.delta-retention-timer-interval-in-ms=30000

 

#增量信息是否可以提供給客戶端看,默認爲false

eureka.server.disable-delta=false

 

#增量信息是否可以提供給客戶端或一些遠程地區,默認爲false

eureka.server.disable-delta-for-remote-regions=true

 

#如果在遠程區域本地沒有實例運行,對於應用程序回退的舊行爲是否被禁用, 默認爲fals

eureka.server.disable-transparent-fallback-to-other-region=true

 

#服務器嘗試綁定到候選的EIP的次數,默認爲3

eureka.server.e-i-p-bind-rebind-retries=3

 

#服務器檢查ip綁定的時間間隔,單位爲毫秒,默認爲1 * 60 * 1000

eureka.server.e-i-p-binding-retry-interval-ms-when-unbound=60000

 

#與上面的是同一作用,僅僅是穩定狀態檢查,默認爲5 * 60 * 1000

eureka.server.e-i-p-binding-retry-interval-ms=300000

 

#複製的數據在發送請求時是否被壓縮,默認爲false

eureka.server.enable-replicated-request-compression=false

 

#指定客戶端重新更新的時間間隔時間,單位秒,30s

eureka.server.expected-client-renewal-interval-seconds=30

 

#eureka服務器中的內容是否在遠程地區被壓縮,默認爲true

eureka.server.g-zip-content-from-remote-region=true

 

#用於定義二級響應緩存的容量大小,默認1000

eureka.server.initial-capacity-of-response-cache=1000

 

#如果沒有設置默認的編解碼器將使用全JSON編解碼器,的是編碼器的類名稱

eureka.server.json-codec-name=

#用來描述從AWS第三賬戶的自動縮放組中的角色名稱,默認爲“ListAutoScalingGroups”

 

eureka.server.list-auto-scaling-groups-role-name=

#eureka服務端是否記錄client的身份header

eureka.server.log-identity-headers=true

 

#允許備份到備份池的最大複製事件數量。而這個備份池負責除狀態更新的其他事件。

# 可以根據內存大小,超時和複製流量,來設置此值得大小

eureka.server.max-elements-in-peer-replication-pool=

 

#允許備份到狀態備份池的最大複製事件數量,默認爲10000

eureka.server.max-elements-in-status-replication-pool=10000

 

#狀態複製線程可以保持存活的空閒時間,默認爲10分鐘

eureka.server.max-idle-thread-age-in-minutes-for-peer-replication=10

 

#複製線程可以保持存活的空閒時間,默認爲15分鐘

eureka.server.max-idle-thread-in-minutes-age-for-status-replication=15

 

#將被用於複製線程的最大數目,默認爲20

eureka.server.max-threads-for-peer-replication=20

 

#服務註冊中心各個instance相互複製狀態數據的最大線程數量,默認1

eureka.server.max-threads-for-status-replication=1

 

#嘗試在丟棄複製事件之前進行復制的時間,默認爲30000毫秒

eureka.server.max-time-for-replication=30000

 

#正常的對等服務instance最小數量。-1表示服務中心爲單節點。

eureka.server.min-available-instances-for-peer-replication=-1

 

#將被用於複製線程的最小數目,默認爲5

eureka.server.min-threads-for-peer-replication=5

 

#被用於狀態複製的線程的最小數目,默認爲1

eureka.server.min-threads-for-status-replication=

 

#如果是在同一機器上部署多個server構成集羣,會因爲InetUtils到相同的hostname導致集羣同步中相同的hostname不進行同步,

# 可以設置eureka.server.my-url或者eureka.instance.hostname  my-url優先級更高

eureka.server.my-url=http://localhost:8761/eureka/

 

#instance之間複製數據時可以重試的次數

eureka.server.number-of-replication-retries=

 

#eureka節點間間隔多長時間更新一次數據。默認10分鐘。

eureka.server.peer-eureka-nodes-update-interval-ms=600000

 

#eureka服務狀態的相互更新的時間間隔。30 * 1000

eureka.server.peer-eureka-status-refresh-time-interval-ms=301000

 

#eureka對等節點間連接超時時間

eureka.server.peer-node-connect-timeout-ms=200

 

#eureka對等節點連接後的空閒時間,默認爲30秒

eureka.server.peer-node-connection-idle-timeout-seconds=30

 

#節點間的讀數據連接超時時間

eureka.server.peer-node-read-timeout-ms=200

 

#eureka server 節點間連接的總共最大數量

eureka.server.peer-node-total-connections=1000

 

#eureka server 節點間連接的單機最大數量

eureka.server.peer-node-total-connections-per-host=500

 

#是否應該建立連接引導

eureka.server.prime-aws-replica-connections=true

 

#PropertyResolver即指定屬性解析器

eureka.server.property-resolver=

 

#請求頻率限制,速率限制的burst size ,默認爲10,這裏用的是令牌桶算法

eureka.server.rate-limiter-burst-size=10

 

#是否開啓請求頻率限制器即 限流是否應啓用或禁用,默認爲false,true開啓

eureka.server.rate-limiter-enabled=false

 

#速率限制器用的是令牌桶算法,此配置指定平均執行請求速率,默認爲100

eureka.server.rate-limiter-full-fetch-average-rate=100

 

#認證的客戶端列表(Set,多個用逗號隔開),這裏是除了標準的eureka Java客戶端。

eureka.server.rate-limiter-privileged-clients=

 

#速率限制器用的是令牌桶算法,此配置指定平均執行註冊請求速率,默認爲500

eureka.server.rate-limiter-registry-fetch-average-rate=500

 

#是否對標準客戶端進行限流,默認false

eureka.server.rate-limiter-throttle-standard-clients=true

 

#當eureka服務器啓動時嘗試去集羣裏其他服務器上的註冊信息的次數,默認爲5

eureka.server.registry-sync-retries=5

 

#當eureka服務器啓動時其他服務器的註冊信息失敗時,會再次嘗試,期間需要等待的時間,默認爲30 * 1000毫秒

eureka.server.registry-sync-retry-wait-ms=30000

 

#必須通過遠程區域中檢索的應用程序的列表,map(.key=value)

eureka.server.remote-region-app-whitelist.*=

 

#連接到對等遠程地eureka節點的超時時間,默認爲1000毫秒

eureka.server.remote-region-connect-timeout-ms=1000

 

#http連接被清理之後遠程地區服務器的空閒時間,默認爲30秒

#連接eureka remote note的連接空閒時間

eureka.server.remote-region-connection-idle-timeout-seconds=30

 

#執行remote region 抓取註冊信息的請求線程池大小

eureka.server.remote-region-fetch-thread-pool-size=20

 

#remote region 從對等eureka加點讀取數據的超時時間

eureka.server.remote-region-read-timeout-ms=1000

 

#從遠程區域取出該註冊表的信息的時間間隔,默認爲30秒

eureka.server.remote-region-registry-fetch-interval=30

 

#遠程地區對等節點上http連接的總數,默認爲1000

eureka.server.remote-region-total-connections=1000

 

#遠程地區特定的對等節點(一個)上http連接的總數,默認爲500

eureka.server.remote-region-total-connections-per-host=500

 

#用來合格請求遠程區域註冊表的信任存儲文件,默認爲空

eureka.server.remote-region-trust-store=

 

#偏遠地區信任存儲文件的密碼,默認爲“changeit”

eureka.server.remote-region-trust-store-password=

 

#remote region url.多個逗號隔開

eureka.server.remote-region-urls=

 

#remote region url.多個逗號隔開

eureka.server.remote-region-urls-with-name.

 

#在設置的時間範圍類,期望與client續約的百分比。

eureka.server.renewal-percent-threshold=0.85

 

#多長時間更新續約的閾值,默認值15*60 *1000

eureka.server.renewal-threshold-update-interval-ms=900000

 

#對於緩存的註冊數據,多長時間過期,默認值180

eureka.server.response-cache-auto-expiration-in-seconds=

 

#多長時間更新一次緩存中的服務註冊數據,30 * 1000

eureka.server.response-cache-update-interval-ms=30000

 

#緩存增量數據的時間,以便在檢索的時候不丟失信息,3* 60 * 1000

eureka.server.retention-time-in-m-s-in-delta-queue=180000

 

服務端嘗試綁定route53的次數,默認值3

eureka.server.route53-bind-rebind-retries=3

 

#服務端間隔多長時間嘗試綁定route53

eureka.server.route53-binding-retry-interval-ms=30

 

#用於建立route53域的ttl,默認爲30

eureka.server.route53-domain-t-t-l=30

 

#當時間變化實例是否跟着同步,默認爲true

eureka.server.sync-when-timestamp-differs=true

 

#目前採用的是二級緩存策略,一個是讀寫高速緩存過期策略,另一個沒有過期只有只讀緩存,默認爲true,表示只讀緩存

eureka.server.use-read-only-response-cache=true

 

#在Eureka服務器獲取不到集羣裏對等服務器上的實例時,需要等待的時間,單位爲毫秒,默認爲1000 * 60 * 5

eureka.server.wait-time-in-ms-when-sync-empty=300000

 

#如果沒有設置默認的編解碼器將使用xml編解碼器,獲取的是編碼器的類名稱

eureka.server.xml-codec-name=

#

啓用自我保護機制,默認爲true

eureka.server.enable-self-preservation=true

 

清除無效服務實例的時間間隔(ms),默認1分鐘即60000

eureka.server.eviction-interval-timer-in-ms=3000

 

Eureka Instacen配置

#註冊到註冊中心的應用所屬分組名稱(AWS服務器),默認值null

eureka.instance.a-s-g-name=

 

#註冊到註冊中心的應用所屬分組名稱,默認值null

eureka.instance.app-group-name=

 

#註冊到註冊中心的應用名稱,默認值null,"unknown"

eureka.instance.appname=

 

#指定服務實例所屬數據中心

eureka.instance.data-center-info=

 

#默認地址解析順序

eureka.instance.default-address-resolution-order=

 

#該服務實例環境配置

eureka.instance.environment=

 

#該服務實例的健康檢查地址(url),絕對地址,默認值爲null

eureka.instance.health-check-url=

 

該服務實例的健康檢查地址,相對地址,默認值/actuator/health

eureka.instance.health-check-url-path=/actuator/health

 

#該服務實例的主頁地址(url),絕對地址

eureka.instance.home-page-url=

 

#該服務實例的主頁地址,相對地址,默認值/

eureka.instance.home-page-url-path=/

 

#該服務實例所在主機名 /${eureka.instance.hostname}

eureka.instance.hostname=

 

#該服務實例註冊到Eureka Server 的初始狀態,默認是up

#參考此枚舉類,com.netflix.appinfo.InstanceInfo.InstanceStatus

eureka.instance.initial-status=up

 

#指示是否應在eureka註冊後立即啓用實例以流量,默認false

eureka.instance.instance-enabled-onit=false

 

#該服務實例的IP地址

eureka.instance.ip-address=

#設置服務器實例的元數據,map,eureka.instance.metadata-map.key=value

#與此實例關聯的元數據名稱/值對。這個信息

#被髮送到eureka服務器並可被其他實例使用

eureka.instance.metadata-map.

 

#默認值eureka,springcloud忽略,那我們也不用關係了

eureka.instance.namespace=

 

#http通信端口,默認80

eureka.instance.non-secure-port=80

#默認值true即開啓http

eureka.instance.non-secure-port-enabled=true

 

#【Eureka Server 端屬性】默認開啓通信的數量,默認值1

eureka.instance.registry.default-open-for-traffic-count=1

#預期客戶端的默認數目,默認爲1 @Value("${eureka.server.expectedNumberOfRenewsPerMin:1}")

eureka.instance.registry.expected-number-of-clients-sending-renews=1

#該服務實例安全健康檢查地址(URL),絕對地址

eureka.instance.secure-health-check-url=

 

#HTTPS通信端口,默認443

eureka.instance.secure-port=443

 

#是否啓用HTTPS通信端口,默認值false

eureka.instance.secure-port-enabled=false

 

#服務實例安全主機名稱(HTTPS),默認值unknown

eureka.instance.secure-virtual-host-name=

 

#該服務實例的狀態檢查地址(url),絕對地址,默認值null

eureka.instance.status-page-url=

 

#該服務實例的狀態檢查地址,相對地址,默認值/actuator/inf

eureka.instance.status-page-url-path=/actuator/info

 

#該服務實例非安全註解名稱(HTTP)

eureka.instance.virtual-host-name=

 

#指示eureka服務器在刪除此實例之前收到最後一次心跳之後等待的時間(s)

# 即在收到心跳後15秒內還沒有心跳,就刪除此實例

eureka.instance.lease-expiration-duration-in-seconds=15

 

#該服務實例向註冊中心發送心跳間隔(s)

eureka.instance.lease-renewal-interval-in-seconds=30

 

#否優先使用服務實例的IP地址,相較於hostname.默認值false

eureka.instance.prefer-ip-address=false

 

#該服務實例在註冊中心的唯一實例ID

eureka.instance.instance-id=${spring.application.name}:${server.port}

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