對應的配置類爲: EurekaClientConfigBeanhtml
eureka.client.算法
params | 釋義 | paraphrase | default value |
---|---|---|---|
enabled | 代表eureka客戶端是否啓動 | Flag to indicate that the Eureka client is enabled. | true |
registryFetchIntervalSeconds | 從eureka服務獲取註冊信息的頻率 /s | Indicates how often(in seconds) to fetch the registry information from the eureka server | 30s |
initialInstanceInfoReplicationIntervalSeconds | 服務啓動後首次請求eureka註冊中心的時間 | Indicates how long initially (in seconds) to replicate instance info to the eureka server | 40s |
instanceInfoReplicationIntervalSeconds | 服務啓動後非首次請求eureka註冊中心的時間頻率 | Indicates how often(in seconds) to replicate instance changes to be replicated to the eureka server | 30s |
eurekaServiceUrlPollIntervalSeconds | 詢問Eureka服務url信息變化的時間間隔 | Indicates how often(in seconds) to poll for changes to eureka server information.Eureka servers could be added or removed and this setting controls how soon the eureka clients should know about it. | 300s |
eurekaServerReadTimeoutSeconds | eureka須要超時讀取以前須要等待的時間 | Indicates how long to wait (in seconds) before a read from eureka server needs to timeout | 8 |
eurekaServerConnectTimeoutSeconds | eureka須要超時鏈接以前須要等待的時間 | Indicates how long to wait (in seconds) before a connection to eureka server needs to timeout | 5 |
backupRegistryImpl | 獲取實現了eureka客戶端在第一次啓動時讀取註冊表的信息做爲回退選項的實現名稱 | ||
eurekaServerTotalConnections | eureka客戶端容許全部eureka服務器鏈接的總數目 | 200 | |
eurekaServerTotalConnectionsPerHost | eureka客戶端容許eureka服務器主機鏈接的總數目 | 50 | |
eurekaServerURLContext | 表示eureka註冊中心的路徑,若是配置爲eureka,則爲http://x.x.x.x:x/eureka/,在eureka的配置文件中加入此配置表示eureka做爲客戶端向註冊中心註冊,從而構成eureka集羣。此配置只有在eureka服務器ip地址列表是在DNS中才會用到,默認爲null | ||
eurekaServerPort | 獲取eureka服務器的端口,此配置只有在eureka服務器ip地址列表是在DNS中才會用到 | null | |
eurekaServerDNSName | 獲取要查詢的DNS名稱來得到eureka服務器,此配置只有在eureka服務器ip地址列表是在DNS中才會用到 | null | |
region | 獲取實例所在的地區 | Gets the region (used in AWS datacenters) where this instance resides. | us-east-1 |
eurekaConnectionIdleTimeoutSeconds | Eureka服務的http請求關閉以前其響應的時間 | 30 | |
registryRefreshSingleVipAddress | 此客戶端只對一個單一的VIP註冊表的信息感興趣 | null | |
heartbeatExecutorThreadPoolSize | 心跳執行程序線程池的大小,默認爲5 | 5 | |
heartbeatExecutorExponentialBackOffBound | 心跳執行程序回退相關的屬性,是重試延遲的最大倍數值 | 10 | |
cacheRefreshExecutorThreadPoolSize | 執行程序緩存刷新線程池的大小 | 5 | |
cacheRefreshExecutorExponentialBackOffBound | 執行程序指數回退刷新的相關屬性,是重試延遲的最大倍數值 | 10 | |
serviceUrl | 可用註冊中心的地址列表,可配置多個用逗號分隔 | Map of availability zone to list of fully qualified URLs to communicate with eureka server | (defaultZone, http://localhost:8761/eureka ) |
gZipContent | eureka註冊表的內容是否被壓縮,默認爲true,而且是在最好的網絡流量下被壓縮 | true | |
useDnsForFetchingServiceUrls | eureka客戶端是否應該使用DNS機制來獲取eureka服務器的地址列表 | false | |
registerWithEureka | 實例是否在eureka服務器上註冊本身的信息以供其餘服務發現 | true | |
preferSameZoneEureka | 實例是否使用同一zone裏的eureka服務器,默認爲true,理想狀態下,eureka客戶端與服務端是在同一zone下 | true | |
logDeltaDiff | 記錄eureka服務器和客戶端之間在註冊表的信息方面的差別 | false | |
disableDelta | |||
fetchRemoteRegionsRegistry | eureka服務註冊表信息裏的以逗號隔開的地區名單,若是不這樣返回這些地區名單,則客戶端啓動將會出錯 | null | |
availabilityZones | 獲取實例所在的地區下可用性的區域列表,用逗號隔開。 | ||
filterOnlyUpInstances | 是否得到處於開啓狀態的實例的應用程序過濾以後的應用程序 | true | |
fetchRegistry | 是否獲取eureka服務器註冊表上的註冊信息 | true | |
dollarReplacement | eureka服務器序列化/反序列化的信息中獲取「$」符號的的替換字符串 | _- | |
escapeCharReplacement | eureka服務器序列化/反序列化的信息中獲取「_」符號的的替換字符串 | __ | |
allowRedirects | |||
onDemandUpdateStatusChange | 若是設置爲true,客戶端的狀態更新將會點播更新到遠程服務器上 | true | |
encoderName | 編碼的配置,若是最新的編碼是穩定的 | null | |
decoderName | 解碼的配置,若是最新的解 碼是穩定的 | null | |
clientDataAccept | |||
proxyPort | |||
proxyHost | |||
proxyUserName | |||
proxyPassword |
對應配置類: EurekaInstanceConfigBeanspring
pre = eureka.instance緩存
params | 釋義 | paraphrase | default value |
---|---|---|---|
appname | 服務應用的名字,同spring.application.name,會被後者覆蓋 | Get the name of the application to be registered with eureka. | unknown |
appGroupName | 得到在eureka服務上註冊的應用程序組的名字 | Get the name of the application group to be registered with eureka. | |
instanceEnabledOnit | |||
nonSecurePort | Get the non-secure port on which the instance should receive traffic. | 80 | |
sercurePort | 獲取該實例應該接收通訊的安全端口 | 443 | |
NonSecurePortEnabled | 該實例應該接收通訊的非安全端口是否啓用 | true | |
SecurePortEnabled | 該實例應該接收通訊的安全端口是否啓用 | false | |
LeaseRenewalIntervalInSeconds | eureka客戶須要多長時間發送心跳給eureka服務器,代表它仍然活着 | 30s | |
LeaseExpirationDurationInSeconds | Eureka服務器在接收到實例的最後一次發出的心跳後,須要等待多久才能夠將此實例刪除 | 90s | |
VirtualHostName | 此實例定義的虛擬主機名,其餘實例將經過使用虛擬主機名找到該實例 | ||
SecureVirtualHostName | 此實例定義的安全虛擬主機名 | unknown | |
ASGName | 與此實例相關聯 AWS自動縮放組名稱。此項配置是在AWS環境專門使用的實例啓動,它已被用於流量停用後自動把一個實例退出服務。 | ||
HostName | 與此實例相關聯的主機名,是其餘實例能夠用來進行請求的準確名稱 | ||
MetadataMap(*) | 獲取與此實例相關聯的元數據(key,value)。這個信息被髮送到eureka服務器,其餘實例可使用 | ||
DataCenterInfo(*) | 該實例被部署在數據中心 | ||
IpAddress | 獲取實例的ip地址 | ||
StatusPageUrlPath | 獲取此實例狀態頁的URL路徑,而後構造出主機名,安全端口等,如改成 /swagger-ui.html ,則從eureka主頁可直接進去swagger接口文檔; | /info | |
StatusPageUrl | 獲取此實例絕對狀態頁的URL路徑,爲其餘服務提供信息時來找到這個實例的狀態的路徑 | null | |
HomePageUrlPath | 獲取此實例的相關主頁URL路徑,而後構造出主機名,安全端口等 | ||
HomePageUrl | 獲取此實例的絕對主頁URL路徑,爲其餘服務提供信息時使用的路徑 | ||
HealthCheckUrlPath | 獲取此實例的相對健康檢查URL路徑 | /health | |
HealthCheckUrl | 獲取此實例的絕對健康檢查URL路徑 | ||
SecureHealthCheckUrl | 獲取此實例的絕對安全健康檢查網頁的URL路徑 | null | |
DefaultAddressResolutionOrder | 獲取實例的網絡地址 | ||
Namespace | 獲取用於查找屬性的命名空間 | eureka | |
hostname | 主機名 | ||
preferIpAddress | ip地址是否優先於主機名被使用, | false |
pre = eureka.server.安全
一、AWSAccessId服務器
獲取aws訪問的id,主要用於彈性ip綁定,此配置是用於aws上的,默認爲null網絡
二、AWSSecretKey架構
獲取aws私有祕鑰,主要用於彈性ip綁定,此配置是用於aws上的,默認爲nullapp
三、EIPBindRebindRetrieside
獲取服務器嘗試綁定到候選的EIP的次數,默認爲3
四、EIPBindingRetryIntervalMsWhenUnbound(*)
服務器檢查ip綁定的時間間隔,單位爲毫秒,默認爲1 * 60 * 1000
五、EIPBindingRetryIntervalMs
與上面的是同一做用,僅僅是穩定狀態檢查,默認爲5 * 60 * 1000
六、EnableSelfPreservation
自我保護模式,當出現出現網絡分區、eureka在短期內丟失過多客戶端時,會進入自我保護模式,即一個服務長時間沒有發送心跳,eureka也不會將其刪除,默認爲true
七、RenewalPercentThreshold(*)
閾值因子,默認是0.85,若是閾值比最小值大,則自我保護模式開啓
八、RenewalThresholdUpdateIntervalMs
閾值更新的時間間隔,單位爲毫秒,默認爲15 * 60 * 1000
九、PeerEurekaNodesUpdateIntervalMs(*)
集羣裏eureka節點的變化信息更新的時間間隔,單位爲毫秒,默認爲10 * 60 * 1000
十、EnableReplicatedRequestCompression
複製的數據在發送請求時是否被壓縮,默認爲false
十一、NumberOfReplicationRetries
獲取集羣裏服務器嘗試複製數據的次數,默認爲5
十二、PeerEurekaStatusRefreshTimeIntervalMs
服務器節點的狀態信息被更新的時間間隔,單位爲毫秒,默認爲30 * 1000
1三、WaitTimeInMsWhenSyncEmpty(*)
在Eureka服務器獲取不到集羣裏對等服務器上的實例時,須要等待的時間,單位爲毫秒,默認爲1000 * 60 * 5
1四、PeerNodeConnectTimeoutMs
鏈接對等節點服務器複製的超時的時間,單位爲毫秒,默認爲200
1五、PeerNodeReadTimeoutMs
讀取對等節點服務器複製的超時的時間,單位爲毫秒,默認爲200
1六、PeerNodeTotalConnections
獲取對等節點上http鏈接的總數,默認爲1000
1七、PeerNodeTotalConnectionsPerHost(*)
獲取特定的對等節點上http鏈接的總數,默認爲500
1八、PeerNodeConnectionIdleTimeoutSeconds(*)
http鏈接被清理以後服務器的空閒時間,默認爲30秒
1九、RetentionTimeInMSInDeltaQueue(*)
客戶端保持增量信息緩存的時間,從而保證不會丟失這些信息,單位爲毫秒,默認爲3 * 60 * 1000
20、DeltaRetentionTimerIntervalInMs
清理任務程序被喚醒的時間間隔,清理過時的增量信息,單位爲毫秒,默認爲30 * 1000
2一、EvictionIntervalTimerInMs
過時實例應該啓動並運行的時間間隔,單位爲毫秒,默認爲60 * 1000
2二、ASGQueryTimeoutMs(*)
查詢AWS上ASG(自動縮放組)信息的超時值,單位爲毫秒,默認爲300
2三、ASGUpdateIntervalMs
從AWS上更新ASG信息的時間間隔,單位爲毫秒,默認爲5 * 60 * 1000
2四、ASGCacheExpiryTimeoutMs(*)
緩存ASG信息的到期時間,單位爲毫秒,默認爲10 * 60 * 1000
2五、ResponseCacheAutoExpirationInSeconds(*)
當註冊表信息被改變時,則其被保存在緩存中不失效的時間,默認爲180秒
2六、ResponseCacheUpdateIntervalMs(*)
客戶端的有效負載緩存應該更新的時間間隔,默認爲30 * 1000毫秒
2七、UseReadOnlyResponseCache(*)
目前採用的是二級緩存策略,一個是讀寫高速緩存過時策略,另外一個沒有過時只有只讀緩存,默認爲true,表示只讀緩存
2八、DisableDelta(*)
增量信息是否能夠提供給客戶端看,默認爲false
2九、MaxIdleThreadInMinutesAgeForStatusReplication(*)
狀態複製線程能夠保持存活的空閒時間,默認爲10分鐘
30、MinThreadsForStatusReplication
被用於狀態複製的線程的最小數目,默認爲1
3一、MaxThreadsForStatusReplication
被用於狀態複製的線程的最大數目,默認爲1
3二、MaxElementsInStatusReplicationPool
可容許的狀態複製池備份複製事件的最大數量,默認爲10000
3三、SyncWhenTimestampDiffers
當時間變化實例是否跟着同步,默認爲true
3四、RegistrySyncRetries
當eureka服務器啓動時嘗試去獲取集羣裏其餘服務器上的註冊信息的次數,默認爲5
3五、RegistrySyncRetryWaitMs
當eureka服務器啓動時獲取其餘服務器的註冊信息失敗時,會再次嘗試獲取,期間須要等待的時間,默認爲30 * 1000毫秒
3六、MaxElementsInPeerReplicationPool(*)
複製池備份複製事件的最大數量,默認爲10000
3七、MaxIdleThreadAgeInMinutesForPeerReplication(*)
複製線程能夠保持存活的空閒時間,默認爲15分鐘
3八、MinThreadsForPeerReplication(*)
獲取將被用於複製線程的最小數目,默認爲5
3九、MaxThreadsForPeerReplication
獲取將被用於複製線程的最大數目,默認爲20
40、MaxTimeForReplication(*)
嘗試在丟棄複製事件以前進行復制的時間,默認爲30000毫秒
4一、PrimeAwsReplicaConnections(*)
對集羣中服務器節點的鏈接是否應該準備,默認爲true
4二、DisableDeltaForRemoteRegions(*)
增量信息是否能夠提供給客戶端或一些遠程地區,默認爲false
4三、RemoteRegionConnectTimeoutMs(*)
鏈接到對等遠程地eureka節點的超時時間,默認爲1000毫秒
4四、RemoteRegionReadTimeoutMs(*)
獲取從遠程地區eureka節點讀取信息的超時時間,默認爲1000毫秒
4五、RemoteRegionTotalConnections
獲取遠程地區對等節點上http鏈接的總數,默認爲1000
4六、RemoteRegionTotalConnectionsPerHost
獲取遠程地區特定的對等節點上http鏈接的總數,默認爲500
4七、RemoteRegionConnectionIdleTimeoutSeconds
http鏈接被清理以後遠程地區服務器的空閒時間,默認爲30秒
4八、GZipContentFromRemoteRegion(*)
eureka服務器中獲取的內容是否在遠程地區被壓縮,默認爲true
4九、RemoteRegionUrlsWithName
針對遠程地區發現的網址域名的map
50、RemoteRegionUrls
遠程地區的URL列表
5一、RemoteRegionAppWhitelist(*)
必須經過遠程區域中檢索的應用程序的列表
5二、RemoteRegionRegistryFetchInterval
從遠程區域取出該註冊表的信息的時間間隔,默認爲30秒
5三、RemoteRegionFetchThreadPoolSize
用於執行遠程區域註冊表請求的線程池的大小,默認爲20
5四、RemoteRegionTrustStore
用來合格請求遠程區域註冊表的信任存儲文件,默認爲空
5五、RemoteRegionTrustStorePassword
獲取偏遠地區信任存儲文件的密碼,默認爲「changeit」
5六、disableTransparentFallbackToOtherRegion(*)
若是在遠程區域本地沒有實例運行,對於應用程序回退的舊行爲是否被禁用, 默認爲false
5七、BatchReplication(*)
表示集羣節點之間的複製是否爲了網絡效率而進行批處理,默認爲false
5八、LogIdentityHeaders(*)
Eureka服務器是否應該登陸clientAuthHeaders,默認爲true
5九、RateLimiterEnabled
限流是否應啓用或禁用,默認爲false
60、RateLimiterThrottleStandardClients
是否對標準客戶端進行限流,默認false
6一、RateLimiterPrivilegedClients(*)
認證的客戶端列表,這裏是除了標準的eureka Java客戶端。
6二、RateLimiterBurstSize(*)
速率限制的burst size ,默認爲10,這裏用的是令牌桶算法
6三、RateLimiterRegistryFetchAverageRate(*)
速率限制器用的是令牌桶算法,此配置指定平均執行註冊請求速率,默認爲500
6四、RateLimiterFullFetchAverageRate(*)
速率限制器用的是令牌桶算法,此配置指定平均執行請求速率,默認爲100
6五、ListAutoScalingGroupsRoleName(*)
用來描述從AWS第三帳戶的自動縮放組中的角色名稱,默認爲「ListAutoScalingGroups」
6六、JsonCodecName(*)
若是沒有設置默認的編解器將使用全JSON編解 器,獲取的是編 碼 器的類名稱
6七、XmlCodecName(*)
若是沒有設置默認的編解器將使用xml編解 器,獲取的是編 碼 器的類名稱
6八、BindingStrategy(*)
獲取配置綁定EIP或Route53的策略。
6九、Route53DomainTTL(*)
用於創建route53域的ttl,默認爲301
70、Route53BindRebindRetries(*)
服務器嘗試綁定到候選Route53域的次數,默認爲3
7一、Route53BindingRetryIntervalMs(*)
服務器應該檢查是否和Route53域綁定的時間間隔,默認爲5 * 60 * 1000毫秒
7二、Experimental(*)
當嘗試新功能遷移過程時,爲了不配置API污染,相應的配置便可投入實驗配置部分,默認爲null
部分屬性翻譯參考文章:微服務架構:Eureka參數配置項詳解(最後一節懶得本身分析了,直接copy,哈哈,別打我)