Eureka引數配置項詳解
Eureka涉及到的引數配置項數量眾多,它的很多功能都是通過引數配置來實現的,瞭解這些引數的含義有助於我們更好的應用Eureka的各種功能,下面對Eureka的配置項做具體介紹,供大家參考。
Eureka客戶端配置
1、RegistryFetchIntervalSeconds
從eureka伺服器登錄檔中獲取註冊資訊的時間間隔(s),預設為30秒
2、InstanceInfoReplicationIntervalSeconds
複製例項變化資訊到eureka伺服器所需要的時間間隔(s),預設為30秒
3、InitialInstanceInfoReplicationIntervalSeconds
最初複製例項資訊到eureka伺服器所需的時間(s),預設為40秒
4、EurekaServiceUrlPollIntervalSeconds
詢問Eureka服務url資訊變化的時間間隔(s),預設為300秒
5、ProxyHost
獲取eureka服務的代理主機,預設為null
6、ProxyProxyPort
獲取eureka服務的代理埠, 預設為null
7、ProxyUserName
獲取eureka服務的代理使用者名稱,預設為null
8、ProxyPassword
獲取eureka服務的代理密碼,預設為null
9、GZipContent
eureka登錄檔的內容是否被壓縮,預設為true,並且是在最好的網路流量下被壓縮
10、EurekaServerReadTimeoutSeconds
eureka需要超時讀取之前需要等待的時間,預設為8秒
11、EurekaServerConnectTimeoutSeconds
eureka需要超時連線之前需要等待的時間,預設為5秒
12、BackupRegistryImpl
獲取實現了eureka客戶端在第一次啟動時讀取登錄檔的資訊作為回退選項的實現名稱
13、EurekaServerTotalConnections
eureka客戶端允許所有eureka伺服器連線的總數目,預設是200
14、EurekaServerTotalConnectionsPerHost
eureka客戶端允許eureka伺服器主機連線的總數目,預設是50
15、EurekaServerURLContext
表示eureka註冊中心的路徑,如果配置為eureka,則為http://x.x.x.x:x/eureka/,在eureka的配置檔案中加入此配置表示eureka作為客戶端向註冊中心註冊,從而構成eureka叢集。此配置只有在eureka伺服器ip地址列表是在DNS中才會用到,預設為null
16、EurekaServerPort
獲取eureka伺服器的埠,此配置只有在eureka伺服器ip地址列表是在DNS中才會用到。預設為null
17、EurekaServerDNSName
獲取要查詢的DNS名稱來獲得eureka伺服器,此配置只有在eureka伺服器ip地址列表是在DNS中才會用到。預設為null
18、UseDnsForFetchingServiceUrls
eureka客戶端是否應該使用DNS機制來獲取eureka伺服器的地址列表,預設為false
19、RegisterWithEureka
例項是否在eureka伺服器上註冊自己的資訊以供其他服務發現,預設為true
20、PreferSameZoneEureka
例項是否使用同一zone裡的eureka伺服器,預設為true,理想狀態下,eureka客戶端與服務端是在同一zone下
21、AllowRedirects
伺服器是否能夠重定向客戶端請求到備份伺服器。 如果設定為false,伺服器將直接處理請求,如果設定為true,它可能傳送HTTP重定向到客戶端。預設為false
22、LogDeltaDiff
是否記錄eureka伺服器和客戶端之間在登錄檔的資訊方面的差異,預設為false
23、DisableDelta(*)
預設為false
24、fetchRegistryForRemoteRegions
eureka服務登錄檔資訊裡的以逗號隔開的地區名單,如果不這樣返回這些地區名單,則客戶端啟動將會出錯。預設為null
25、Region
獲取例項所在的地區。預設為us-east-1
26、AvailabilityZones
獲取例項所在的地區下可用性的區域列表,用逗號隔開。
27、EurekaServerServiceUrls
Eureka伺服器的連線,預設為http://XXXX:X/eureka/,但是如果採用DNS方式獲取服務地址,則不需要配置此設定。
28、FilterOnlyUpInstances(*)
是否獲得處於開啟狀態的例項的應用程式過濾之後的應用程式。預設為true
29、EurekaConnectionIdleTimeoutSeconds
Eureka服務的http請求關閉之前其響應的時間,預設為30 秒
30、FetchRegistry
此客戶端是否獲取eureka伺服器登錄檔上的註冊資訊,預設為true
31、RegistryRefreshSingleVipAddress
此客戶端只對一個單一的VIP登錄檔的資訊感興趣。預設為null
32、HeartbeatExecutorThreadPoolSize(*)
心跳執行程式執行緒池的大小,預設為5
33、HeartbeatExecutorExponentialBackOffBound(*)
心跳執行程式回退相關的屬性,是重試延遲的最大倍數值,預設為10
34、CacheRefreshExecutorThreadPoolSize(*)
執行程式快取重新整理執行緒池的大小,預設為5
35、CacheRefreshExecutorExponentialBackOffBound
執行程式指數回退重新整理的相關屬性,是重試延遲的最大倍數值,預設為10
36、DollarReplacement
eureka伺服器序列化/反序列化的資訊中獲取“$”符號的的替換字串。預設為“_-”
37、EscapeCharReplacement
eureka伺服器序列化/反序列化的資訊中獲取“_”符號的的替換字串。預設為“__”
38、OnDemandUpdateStatusChange(*)
如果設定為true,客戶端的狀態更新將會點播更新到遠端伺服器上,預設為true
39、EncoderName
這是一個短暫的編碼器的配置,如果最新的編碼器是穩定的,則可以去除,預設為null
40、DecoderName
這是一個短暫的解碼器的配置,如果最新的解碼器是穩定的,則可以去除,預設為null
41、ClientDataAccept(*)
客戶端資料接收
42、Experimental(*)
當嘗試新功能遷移過程時,為了避免配置API汙染,相應的配置即可投入實驗配置部分,預設為null
例項微服務端配置
1、InstanceId
此例項註冊到eureka服務端的唯一的例項ID,其組成為${spring.application.name}:${spring.application.instance_id:${random.value}}
2、Appname
獲得在eureka服務上註冊的應用程式的名字,預設為unknow
3、AppGroupName
獲得在eureka服務上註冊的應用程式組的名字,預設為unknow
4、InstanceEnabledOnit(*)
例項註冊到eureka伺服器時,是否開啟通訊,預設為false
5、NonSecurePort
獲取該例項應該接收通訊的非安全埠。預設為80
6、SecurePort
獲取該例項應該接收通訊的安全埠,預設為443
7、NonSecurePortEnabled
該例項應該接收通訊的非安全埠是否啟用,預設為true
8、SecurePortEnabled
該例項應該接收通訊的安全埠是否啟用,預設為false
9、LeaseRenewalIntervalInSeconds
eureka客戶需要多長時間傳送心跳給eureka伺服器,表明它仍然活著,預設為30 秒
10、LeaseExpirationDurationInSeconds
Eureka伺服器在接收到例項的最後一次發出的心跳後,需要等待多久才可以將此例項刪除,預設為90秒
11、VirtualHostName
此例項定義的虛擬主機名,其他例項將通過使用虛擬主機名找到該例項。
12、SecureVirtualHostName
此例項定義的安全虛擬主機名
13、ASGName(*)
與此例項相關聯 AWS自動縮放組名稱。此項配置是在AWS環境專門使用的例項啟動,它已被用於流量停用後自動把一個例項退出服務。
14、HostName
與此例項相關聯的主機名,是其他例項可以用來進行請求的準確名稱
15、MetadataMap(*)
獲取與此例項相關聯的元資料(key,value)。這個資訊被髮送到eureka伺服器,其他例項可以使用。
16、DataCenterInfo(*)
該例項被部署在資料中心
17、IpAddress
獲取例項的ip地址
18、StatusPageUrlPath(*)
獲取此例項狀態頁的URL路徑,然後構造出主機名,安全埠等,預設為/info
19、StatusPageUrl(*)
獲取此例項絕對狀態頁的URL路徑,為其他服務提供資訊時來找到這個例項的狀態的路徑,預設為null
20、HomePageUrlPath(*)
獲取此例項的相關主頁URL路徑,然後構造出主機名,安全埠等,預設為/
21、HomePageUrl(*)
獲取此例項的絕對主頁URL路徑,為其他服務提供資訊時使用的路徑,預設為null
22、HealthCheckUrlPath
獲取此例項的相對健康檢查URL路徑,預設為/health
23、HealthCheckUrl
獲取此例項的絕對健康檢查URL路徑,預設為null
24、SecureHealthCheckUrl
獲取此例項的絕對安全健康檢查網頁的URL路徑,預設為null
25、DefaultAddressResolutionOrder
獲取例項的網路地址,預設為[]
26、Namespace
獲取用於查詢屬性的名稱空間,預設為eureka
Eureka服務端配置
1、AWSAccessId
獲取aws訪問的id,主要用於彈性ip繫結,此配置是用於aws上的,預設為null
2、AWSSecretKey
獲取aws私有祕鑰,主要用於彈性ip繫結,此配置是用於aws上的,預設為null
3、EIPBindRebindRetries
獲取伺服器嘗試繫結到候選的EIP的次數,預設為3
4、EIPBindingRetryIntervalMsWhenUnbound(*)
伺服器檢查ip繫結的時間間隔,單位為毫秒,預設為1 * 60 * 1000
5、EIPBindingRetryIntervalMs
與上面的是同一作用,僅僅是穩定狀態檢查,預設為5 * 60 * 1000
6、EnableSelfPreservation
自我保護模式,當出現出現網路分割槽、eureka在短時間內丟失過多客戶端時,會進入自我保護模式,即一個服務長時間沒有傳送心跳,eureka也不會將其刪除,預設為true
7、RenewalPercentThreshold(*)
閾值因子,預設是0.85,如果閾值比最小值大,則自我保護模式開啟
8、RenewalThresholdUpdateIntervalMs
閾值更新的時間間隔,單位為毫秒,預設為15 * 60 * 1000
9、PeerEurekaNodesUpdateIntervalMs(*)
叢集裡eureka節點的變化資訊更新的時間間隔,單位為毫秒,預設為10 * 60 * 1000
10、EnableReplicatedRequestCompression
複製的資料在傳送請求時是否被壓縮,預設為false
11、NumberOfReplicationRetries
獲取叢集裡伺服器嘗試複製資料的次數,預設為5
12、PeerEurekaStatusRefreshTimeIntervalMs
伺服器節點的狀態資訊被更新的時間間隔,單位為毫秒,預設為30 * 1000
13、WaitTimeInMsWhenSyncEmpty(*)
在Eureka伺服器獲取不到叢集裡對等伺服器上的例項時,需要等待的時間,單位為毫秒,預設為1000 * 60 * 5
14、PeerNodeConnectTimeoutMs
連線對等節點伺服器複製的超時的時間,單位為毫秒,預設為200
15、PeerNodeReadTimeoutMs
讀取對等節點伺服器複製的超時的時間,單位為毫秒,預設為200
16、PeerNodeTotalConnections
獲取對等節點上http連線的總數,預設為1000
17、PeerNodeTotalConnectionsPerHost(*)
獲取特定的對等節點上http連線的總數,預設為500
18、PeerNodeConnectionIdleTimeoutSeconds(*)
http連線被清理之後伺服器的空閒時間,預設為30秒
19、RetentionTimeInMSInDeltaQueue(*)
客戶端保持增量資訊快取的時間,從而保證不會丟失這些資訊,單位為毫秒,預設為3 * 60 * 1000
20、DeltaRetentionTimerIntervalInMs
清理任務程式被喚醒的時間間隔,清理過期的增量資訊,單位為毫秒,預設為30 * 1000
21、EvictionIntervalTimerInMs
過期例項應該啟動並執行的時間間隔,單位為毫秒,預設為60 * 1000
22、ASGQueryTimeoutMs(*)
查詢AWS上ASG(自動縮放組)資訊的超時值,單位為毫秒,預設為300
23、ASGUpdateIntervalMs
從AWS上更新ASG資訊的時間間隔,單位為毫秒,預設為5 * 60 * 1000
24、ASGCacheExpiryTimeoutMs(*)
快取ASG資訊的到期時間,單位為毫秒,預設為10 * 60 * 1000
25、ResponseCacheAutoExpirationInSeconds(*)
當登錄檔資訊被改變時,則其被儲存在快取中不失效的時間,預設為180秒
26、ResponseCacheUpdateIntervalMs(*)
客戶端的有效負載快取應該更新的時間間隔,預設為30 * 1000毫秒
27、UseReadOnlyResponseCache(*)
目前採用的是二級快取策略,一個是讀寫快取記憶體過期策略,另一個沒有過期只有只讀快取,預設為true,表示只讀快取
28、DisableDelta(*)
增量資訊是否可以提供給客戶端看,預設為false
29、MaxIdleThreadInMinutesAgeForStatusReplication(*)
狀態複製執行緒可以保持存活的空閒時間,預設為10分鐘
30、MinThreadsForStatusReplication
被用於狀態複製的執行緒的最小數目,預設為1
31、MaxThreadsForStatusReplication
被用於狀態複製的執行緒的最大數目,預設為1
32、MaxElementsInStatusReplicationPool
可允許的狀態複製池備份複製事件的最大數量,預設為10000
33、SyncWhenTimestampDiffers
當時間變化例項是否跟著同步,預設為true
34、RegistrySyncRetries
當eureka伺服器啟動時嘗試去獲取叢集裡其他伺服器上的註冊資訊的次數,預設為5
35、RegistrySyncRetryWaitMs
當eureka伺服器啟動時獲取其他伺服器的註冊資訊失敗時,會再次嘗試獲取,期間需要等待的時間,預設為30 * 1000毫秒
36、MaxElementsInPeerReplicationPool(*)
複製池備份複製事件的最大數量,預設為10000
37、MaxIdleThreadAgeInMinutesForPeerReplication(*)
複製執行緒可以保持存活的空閒時間,預設為15分鐘
38、MinThreadsForPeerReplication(*)
獲取將被用於複製執行緒的最小數目,預設為5
39、MaxThreadsForPeerReplication
獲取將被用於複製執行緒的最大數目,預設為20
40、MaxTimeForReplication(*)
嘗試在丟棄複製事件之前進行復制的時間,預設為30000毫秒
41、PrimeAwsReplicaConnections(*)
對叢集中伺服器節點的連線是否應該準備,預設為true
42、DisableDeltaForRemoteRegions(*)
增量資訊是否可以提供給客戶端或一些遠端地區,預設為false
43、RemoteRegionConnectTimeoutMs(*)
連線到對等遠端地eureka節點的超時時間,預設為1000毫秒
44、RemoteRegionReadTimeoutMs(*)
獲取從遠端地區eureka節點讀取資訊的超時時間,預設為1000毫秒
45、RemoteRegionTotalConnections
獲取遠端地區對等節點上http連線的總數,預設為1000
46、RemoteRegionTotalConnectionsPerHost
獲取遠端地區特定的對等節點上http連線的總數,預設為500
47、RemoteRegionConnectionIdleTimeoutSeconds
http連線被清理之後遠端地區伺服器的空閒時間,預設為30秒
48、GZipContentFromRemoteRegion(*)
eureka伺服器中獲取的內容是否在遠端地區被壓縮,預設為true
49、RemoteRegionUrlsWithName
針對遠端地區發現的網址域名的map
50、RemoteRegionUrls
遠端地區的URL列表
51、RemoteRegionAppWhitelist(*)
必須通過遠端區域中檢索的應用程式的列表
52、RemoteRegionRegistryFetchInterval
從遠端區域取出該登錄檔的資訊的時間間隔,預設為30秒
53、RemoteRegionFetchThreadPoolSize
用於執行遠端區域登錄檔請求的執行緒池的大小,預設為20
54、RemoteRegionTrustStore
用來合格請求遠端區域登錄檔的信任儲存檔案,預設為空
55、RemoteRegionTrustStorePassword
獲取偏遠地區信任儲存檔案的密碼,預設為“changeit”
56、disableTransparentFallbackToOtherRegion(*)
如果在遠端區域本地沒有例項執行,對於應用程式回退的舊行為是否被禁用, 預設為false
57、BatchReplication(*)
表示叢集節點之間的複製是否為了網路效率而進行批處理,預設為false
58、LogIdentityHeaders(*)
Eureka伺服器是否應該登入clientAuthHeaders,預設為true
59、RateLimiterEnabled
限流是否應啟用或禁用,預設為false
60、RateLimiterThrottleStandardClients
是否對標準客戶端進行限流,預設false
61、RateLimiterPrivilegedClients(*)
認證的客戶端列表,這裡是除了標準的eureka Java客戶端。
62、RateLimiterBurstSize(*)
速率限制的burst size ,預設為10,這裡用的是令牌桶演算法
63、RateLimiterRegistryFetchAverageRate(*)
速率限制器用的是令牌桶演算法,此配置指定平均執行註冊請求速率,預設為500
64、RateLimiterFullFetchAverageRate(*)
速率限制器用的是令牌桶演算法,此配置指定平均執行請求速率,預設為100
65、ListAutoScalingGroupsRoleName(*)
用來描述從AWS第三賬戶的自動縮放組中的角色名稱,預設為“ListAutoScalingGroups”
66、JsonCodecName(*)
如果沒有設定預設的編解碼器將使用全JSON編解碼器,獲取的是編碼器的類名稱
67、XmlCodecName(*)
如果沒有設定預設的編解碼器將使用xml編解碼器,獲取的是編碼器的類名稱
68、BindingStrategy(*)
獲取配置繫結EIP或Route53的策略。
69、Route53DomainTTL(*)
用於建立route53域的ttl,預設為301
70、Route53BindRebindRetries(*)
伺服器嘗試繫結到候選Route53域的次數,預設為3
71、Route53BindingRetryIntervalMs(*)
伺服器應該檢查是否和Route53域繫結的時間間隔,預設為5 * 60 * 1000毫秒
72、Experimental(*)