1. 程式人生 > >Eureka配置資訊詳解

Eureka配置資訊詳解

Eureka包含四部分配置

  1. instance : 當前Eureka Instance例項配置資訊
  2. client : Eureka Client客戶端特性配置
  3. server : Eureka Server註冊中心特性配置
  4. dashboard : Eureka Server註冊中心儀表盤配置

Eureka Instance 例項資訊配置

Eureka Instance的配置資訊全部儲存在org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean配置類中,實際上它是com.netflix.appinfo.EurekaInstanceConfig

的實現類,替代了netflixcom.netflix.appinfo.CloudInstanceConfig的預設實現。

Eureka Instance的配置資訊全部以eureka.instance.xxx的格式配置。

配置列表:

配置屬性 解釋 預設值
appname 應用名,首先獲取spring.application.name的值,如果取值為空,則取預設unknown unknown
appGroupName 應用組名 null
instanceEnabledOnit 例項註冊到Eureka上是,是否立刻開啟通訊。有時候應用在準備好服務之前需要一些預處理 false
nonSecurePort 非安全的埠 80
securePort 安全的埠 443
nonSecurePortEnabled 是否開啟非安全埠通訊 true
securePortEnabled 是否開啟安全埠通訊 false
leaseRenewalIntervalInSeconds 例項續約間隔時間(s) 30
leaseExpirationDurationInSeconds 例項超時時間,表示最大leaseExpirationDurationInSeconds秒後沒有續約,Server就認為他不可用了,隨之就會將其剔除(s) 90
virtualHostName 虛擬主機名,首先獲取spring.application.name
的值,如果取值為空,則取預設unknown。
unknown
instanceId 註冊到eureka上的唯一例項ID,不能與相同appname的其他例項重複
secureVirtualHostName 安全虛擬主機名,首先獲取spring.application.name的值,如果取值為空,則取預設unknown unknown
metadataMap 例項元資料,可以供其他例項使用。比如spring-boot-admin在監控時,獲取例項的上下文和埠 HashMap
dataCenterInfo 例項部署的資料中心。如AWS、MyOwn new MyDataCenterInfo(DataCenterInfo.Name.MyOwn)
ipAddress 例項的IP地址 null
statusPageUrlPath 例項狀態頁相對url "/actuator/info"
statusPageUrl 例項狀態頁絕對url url
homePageUrlPath 例項主頁相對URL /
healthCheckUrlUrlPath 例項健康檢查相對URL "/actuator/health"
healthCheckUrl 例項健康檢查絕對URL null
secureHealthCheckUrl 例項安全的健康檢查絕對URL null
namespace 配置屬性的名稱空間(Spring Cloud中被忽略) "eureka"
hostname 主機名,不配置的時候講根據作業系統的主機名來獲取 null
preferIpAddress 是否優先使用IP地址作為主機名的標識 false

Eureka Client客戶端特性配置

Eureka Client客戶端特性配置是對作為Eureka客戶端的特性配置,包括Eureka註冊中心,本身也是一個Eureka Client。Eureka Client特性配置全部在org.springframework.cloud.netflix.eureka.EurekaClientConfigBean中,實際上它是com.netflix.discovery.EurekaClientConfig的實現類,替代了netxflix的預設實現

Eureka Client客戶端特性配置全部以eureka.client.xxx的格式配置。

配置列表:

配置屬性 解釋 預設值
enabled 是否啟用Eureka client true
registryFetchIntervalSeconds 定時從Eureka Server拉取服務註冊資訊的間隔時間(s) 30
instanceInfoReplicationIntervalSeconds 定時將例項資訊(如果變化了)複製到Eureka Server的間隔時間。(InstanceInfoReplicator執行緒) 30
initialInstanceInfoReplicationIntervalSeconds 首次將例項資訊複製到Eureka Server的延遲時間。(InstanceInfoReplicator執行緒) 40
eurekaServiceUrlPollIntervalSeconds 拉取Eureka Server地址的間隔時間(Eureka Server有可能增減) 300
proxyPort Eureka Server的代理埠 null
proxyHost Eureka Server的代理主機名 null
proxyUserName Eureka Server的代理使用者名稱 null
proxyPassword Eureka Server的代理密碼 null
eurekaServerReadTimeoutSeconds 從Eureka Server讀取資訊的超時時間(s) 8
eurekaServerConnectTimeoutSeconds 連線Eureka Server的超時時間 5
backupRegistryImpl Eureka Client第一次啟動時獲取服務註冊資訊的呼叫的回溯實現。Eureka Client啟動時首次會檢查有沒有BackupRegistry的實現類,如果有實現類,則優先從這個實現類裡獲取服務註冊資訊 null
eurekaServerTotalConnections Eureka client連線Eureka Server的連結總數 200
eurekaServerTotalConnectionsPerHost Eureka client連線單臺Eureka Server的連結總數 50
eurekaServerURLContext 當Eureka server的列表在DNS中時,Eureka Server的上下文路徑。如http://xxxx/eureka null
eurekaServerPort 當Eureka server的列表在DNS中時,Eureka Server的埠 null
eurekaServerDNSName 當Eureka server的列表在DNS中時,且要通過DNSName獲取Eureka Server列表時,DNS名字 null
region 例項所屬區域 us-east-1
eurekaConnectionIdleTimeoutSeconds Eureka Client和Eureka Server之間的Http連線的空閒超時時間 30
heartbeatExecutorThreadPoolSize 心跳(續約)執行器執行緒池大小 2
heartbeatExecutorExponentialBackOffBound 心跳執行器在續約過程中超時後的再次執行續約的最大延遲倍數。預設最大延遲時間=10 * eureka.instance.leaseRenewalIntervalInSeconds 10
cacheRefreshExecutorThreadPoolSize cacheRefreshExecutord的執行緒池大小(獲取註冊資訊) 2
cacheRefreshExecutorExponentialBackOffBound cacheRefreshExecutord的再次執行的最大延遲倍數。預設最大延遲時間=10 *eureka.client.registryFetchIntervalSeconds 10
serviceUrl Eureka Server的分割槽地址。預設添加了一個defualtZone。也就是最常用的配置eureka.client.service-url.defaultZone=xxx new HashMap();serviceUrl.put(DEFAULT_ZONE, DEFAULT_URL)
registerWithEureka 是否註冊到Eureka Server true
preferSameZoneEureka 是否使用相同Zone下的Eureka server true
logDeltaDiff 是否記錄Eureka Server和Eureka Client之間註冊資訊的差異 false
disableDelta 是否開啟增量同步註冊資訊 false
fetchRemoteRegionsRegistry 獲取註冊服務的遠端地區,以逗號隔開 null
availabilityZones 可用分割槽列表。用逗號隔開 HashMap
filterOnlyUpInstances 是否只拉取UP狀態的例項 true
fetchRegistry 是否拉取註冊資訊 true
shouldUnregisterOnShutdown 是否在停止服務的時候向Eureka Server發起Cancel指令 true
shouldEnforceRegistrationAtInit 是否在初始化過程中註冊服務 false

Eureka Server註冊中心端配置

Eureka Server註冊中心端的配置是對註冊中心的特性配置。Eureka Server的配置全部在org.springframework.cloud.netflix.eureka.server.EurekaServerConfigBean裡,實際上它是com.netflix.eureka.EurekaServerConfig的實現類,替代了netflix的預設實現

Eureka Server的配置全部以eureka.server.xxx的格式進行配置

配置列表:

配置屬性 解釋 預設值
enableSelfPreservation 是否開啟自我保護 true
renewalPercentThreshold 自我保護續約百分比閥值因子。如果實際續約數小於續約數閥值,則開啟自我保護 0.85
renewalThresholdUpdateIntervalMs 續約數閥值更新頻率 15 * 60 * 1000
peerEurekaNodesUpdateIntervalMs Eureka Server節點更新頻率 10 * 60 * 1000
enableReplicatedRequestCompression 是否啟用複製請求壓縮 false
waitTimeInMsWhenSyncEmpty 當從其他節點同步例項資訊為空時等待的時間 5 * 60 * 1000
peerNodeConnectTimeoutMs 節點間連線的超時時間 200
peerNodeReadTimeoutMs 節點間讀取資訊的超時時間 200
peerNodeTotalConnectionsPerHost 單個節點間連線總數 500
peerNodeConnectionIdleTimeoutSeconds 節點間連線空閒超時時間 30
retentionTimeInMSInDeltaQueue 增量佇列的快取時間 3 * MINUTES
deltaRetentionTimerIntervalInMs 清理增量佇列中過期的頻率 30 * 1000
evictionIntervalTimerInMs 剔除任務頻率 60*1000
responseCacheAutoExpirationInSeconds 註冊列表快取超時時間(當註冊列表沒有變化時) 180
responseCacheUpdateIntervalMs 註冊列表快取更新頻率 30 * 1000
useReadOnlyResponseCache 是否開啟註冊列表的二級快取 true
disableDelta 是否為client提供增量資訊 false
maxThreadsForStatusReplication 狀態同步的最大執行緒數 1
maxElementsInStatusReplicationPool 狀態同步佇列的最大容量 10000
syncWhenTimestampDiffers 當時間差異時是否同步 true
registrySyncRetries 註冊資訊同步重試次數 0
registrySyncRetryWaitMs 註冊資訊同步重試期間的時間間隔 30 * 1000
maxElementsInPeerReplicationPool 節點間同步事件的最大容量 10000
minThreadsForPeerReplication 節點間同步的最小執行緒數 5
maxThreadsForPeerReplication 節點間同步的最大執行緒數 20
maxTimeForReplication 節點間同步的最大時間,單位為毫秒 30000
disableDeltaForRemoteRegions 是否啟用遠端區域增量 false
remoteRegionConnectTimeoutMs 遠端區域連線超時時間 1000
remoteRegionReadTimeoutMs 遠端區域讀取超時時間 1000
remoteRegionTotalConnections 遠端區域最大連線數 1000
remoteRegionTotalConnectionsPerHost 遠端區域單機連線數 500
remoteRegionConnectionIdleTimeoutSeconds 遠端區域連線空閒超時時間 30
remoteRegionRegistryFetchInterval 遠端區域註冊資訊拉取頻率 30
remoteRegionFetchThreadPoolSize 遠端區域註冊資訊執行緒數 20

Eureka Server註冊中心儀表盤配置

註冊中心儀表盤的配置主要是控制註冊中心的視覺化展示。以eureka.dashboard.xxx的格式配置

配置列表:

配置屬性 解釋 預設值
path 儀表盤訪問路徑 /
enabled 是否啟用儀表盤 ``

參考