Eureka參數配置項

Eureka參數配置項


Eureka涉及到的參數配置項數量很多,它的很多功能都是通過參數配置來實現的,瞭解這些參數的含義可以幫我們更好的應用Eureka的各種功能;分爲Eureka服務端配置Eureka客戶端配置微服務端配置,其中有很多配置參數並不需要我們去修改,使用默認的就好,有些跟我們業務相關的配置參數可根據需要自行設置,下面是對Eureka的配置項做具體介紹:

1. 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(*) 當嘗試新功能遷移過程時,爲了避免配置API污染,相應的配置即可投入實驗配置部分,默認爲null

2. 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

3. 微服務端配置

序號 屬性 說明
1 InstanceId 此實例註冊到eureka服務端的唯一的實例ID,其組成爲spring.application.name:{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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章