服务发现全量配置整理(更新中)
Eureka 服务发现配置
由于eureka开发文档的不全面,导致很多配置不是很清晰,下面的配置是根据源代码注释整理而来
Eureka 服务发现服务端全量配置
假设名称空间是eureka
- eureka.awsAccessId
Gets the AWS Access Id. This is primarily used for Elastic IP Biding.
The access id should be provided with appropriate AWS permissions to bind the EIP.
- eureka.awsSecretKey
Gets the AWS Secret Key. This is primarily used for Elastic IP Biding.
The access id should be provided with appropriate AWS permissions to bind the EIP.
- eureka.eipBindRebindRetries
Gets the number of times the server should try to bind to the candidate EIP.
The changes are effective at runtime.
- eureka.eipBindRebindRetryIntervalMsWhenUnbound
Get the interval with which the server should check if the EIP is bound and should try to bind in the case if it is already not bound, iff the EIP is not currently bound
- eureka.eipBindRebindRetryIntervalMs
Gets the interval with which the server should check if the EIP is bound and should try to bind in the case if it is already not bound,
iff the EIP is already bound. (so this refresh is just for steady state checks)
- eureka.enableSelfPreservation
Checks to see if the eureka server is enabled for self preservation.
When enabled, the server keeps track of the number of renewals it should receive from the server.
Any time, the number of renewals drops below the threshold percentage as defined by getRenewalPercentThreshold(),
the server turns off expirations to avert danger.This will help the server in maintaining the registry information in case of network problems between client and the server.
- eureka.peerEurekaNodesUpdateIntervalMs
The interval with which the information about the changes in peer eureka nodes is updated.
The user can use the DNS mechanism or dynamic configuration provided by Archaius to change the information dynamically.
- eureka.renewalThresholdUpdateIntervalMs
The interval with which the threshold as specified in getRenewalPercentThreshold() needs to be updated.
- eureka.renewalPercentThreshold
The minimum percentage of renewals that is expected from the clients in the period specified by getRenewalThresholdUpdateIntervalMs().
If the renewals drop below the threshold, the expirations are disabled if the shouldEnableSelfPreservation() is enabled.
- eureka.enableReplicatedRequestCompression
If set to true, the replicated data send in the request will be always compressed.
This does not define response path, which is driven by "Accept-Encoding" header.
- eureka.numberOfReplicationRetries
Get the number of times the replication events should be retried with peers.
- eureka.peerEurekaStatusRefreshTimeIntervalMs
Gets the interval with which the status information about peer nodes is updated.
- eureka.waitTimeInMsWhenSyncEmpty
Gets the time to wait when the eureka server starts up unable to get instances from peer nodes.
It is better not to start serving rightaway during these scenarios as the information that is stored in the registry may not be complete.
When the instance registry starts up empty, it builds over time when the clients start to send heartbeats and the server requests the clients for registration information.
- eureka.peerNodeConnectTimeoutMs
Gets the timeout value for connecting to peer eureka nodes for replication.
- eureka.peerNodeReadTimeoutMs
Gets the timeout value for reading information from peer eureka nodes for replication.
- eureka.peerNodeTotalConnections
Gets the total number of HTTP connections allowed to peer eureka nodes for replication.
- eureka.peerNodeTotalConnectionsPerHost
Gets the total number of HTTP connections allowed to a particular peer eureka node for replication.
- eureka.peerNodeConnectionIdleTimeoutSeconds
Gets the idle time after which the HTTP connection should be cleaned up.
- eureka.retentionTimeInMSInDeltaQueue
Get the time for which the delta information should be cached for the clients to retrieve the value without missing it.
- eureka.deltaRetentionTimerIntervalInMs
Get the time interval with which the clean up task should wake up and check for expired delta information.
- eureka.evictionIntervalTimerInMs
Get the time interval with which the task that expires instances should wake up and run.
- eureka.asgQueryTimeoutMs
Get the timeout value for querying the AWS for ASG information.
- eureka.asgUpdateIntervalMs
Get the time interval with which the ASG information must be queried from AWS.
- eureka.asgCacheExpiryTimeoutMs
Get the expiration value for the cached ASG information
- eureka.responseCacheAutoExpirationInSeconds
Gets the time for which the registry payload should be kept in the cache if it is not invalidated by change events.
- eureka.responseCacheUpdateIntervalMs
Gets the time interval with which the payload cache of the client should be updated.
- eureka.shouldUseReadOnlyResponseCache
The com.netflix.eureka.registry.ResponseCache currently uses a two level caching strategy to responses.
A readWrite cache with an expiration policy, and a readonly cache that caches without expiry.
- eureka.disableDelta
Checks to see if the delta information can be served to client or not.
- eureka.maxIdleThreadAgeInMinutesForStatusReplication
Get the idle time for which the status replication threads can stay alive.
- eureka.minThreadsForStatusReplication
Get the minimum number of threads to be used for status replication.
- eureka.maxElementsInStatusReplicationPool
Get the maximum number of replication events that can be allowed to back up in the status replication pool.
Depending on the memory allowed, timeout and the replication traffic, this value can vary.
- eureka.syncWhenTimestampDiffers
Checks whether to synchronize instances when timestamp differs.
- eureka.numberRegistrySyncRetries
Get the number of times that a eureka node would try to get the registry information from the peers during startup.
- eureka.registrySyncRetryWaitMs
Get the wait/sleep time between each retry sync attempts,
if the prev retry failed and there are more retries to attempt.
- eureka.maxElementsInPeerReplicationPool
Get the maximum number of replication events that can be allowed to back up in the replication pool. This replication pool is responsible for all events except status updates.
Depending on the memory allowed, timeout and the replication traffic, this value can vary.
- eureka.maxIdleThreadAgeInMinutesForPeerReplication
Get the idle time for which the replication threads can stay alive.
- eureka.minThreadsForPeerReplication
Get the minimum number of threads to be used for replication.
- eureka.maxThreadsForPeerReplication
Get the maximum number of threads to be used for replication.
- eureka.maxTimeForReplication
Get the time in milliseconds to try to replicate before dropping replication events.
- eureka.primeAwsReplicaConnections
Checks whether the connections to replicas should be primed. In AWS, the firewall requires sometime to establish network connection for new nodes.
- eureka.disableDeltaForRemoteRegions
Checks to see if the delta information can be served to client or not for remote regions.
- eureka.remoteRegionConnectTimeoutMs
Gets the timeout value for connecting to peer eureka nodes for remote regions.
- eureka.remoteRegionReadTimeoutMs
Gets the timeout value for reading information from peer eureka nodes for remote regions.
- eureka.remoteRegionTotalConnections
Gets the total number of HTTP connections allowed to peer eureka nodes for remote regions.
- eureka.remoteRegionTotalConnectionsPerHost
Gets the total number of HTTP connections allowed to a particular peer eureka node for remote regions.
- eureka.remoteRegionConnectionIdleTimeoutSeconds
Gets the idle time after which the HTTP connection should be cleaned up for remote regions.
- eureka.remoteRegion.gzipContent
Indicates whether the content fetched from eureka server has to be compressed for remote regions whenever it is supported by the server.
The registry information from the eureka server is compressed for optimum network traffic.