0%

Eureka客户端配置

Eureka客户端配置说明

EurekaInstanceConfig

  • instanceId:client唯一标识,将此实例从相同appName的集群中区分开来。
  • appName:注册到eureka server的服务名,相同appName的实例组成集群。
  • appGroupName:实例所在群组名,用于划分服务。
  • instanceEnabledOnit:实例启动后是否立即注册到eureka server,因为有的实例启动后需要处理一些额外的事情才能对外提供服务。
  • nonSecurePort:非安全端口。
  • securePort:安全端口。
  • nonSecurePortEnabled:是否启用非安全端口。
  • securePortEnabled:是否启用安全端口。
  • leaseRenewalIntervalInSeconds:向eureka server发送心跳的时间间隔,秒,如果在leaseExpirationDurationInSeconds规定的时间窗口内,server没有收到过心跳,将会把此实例从列表中移除,此示例将无法获得流量,注意如果此示例实现了HealthCheckCallback,那么既使心跳正常,是否对外提供服务还是由回调接口返回值决定。
  • leaseExpirationDurationInSeconds:心跳时间窗口,秒,在距离上次收到心跳的时间间隔超过窗口期还未收到新的心跳,则server认为实例已下线。此值设置最小必须超过leaseRenewalIntervalInSeconds的值。
  • virtualHostName:虚拟主机名。用于客户端发现此实例。
  • secureVirtualHostName:安全虚拟主机名。用于客户端通过安全虚拟主机名发现此实例。
  • ASGName:AWS autoscaling group name。
  • hostName:关联此实例的主机名,真实的用于其他实例对此实例发起调用的名称。
  • metadataMap:元数据表,存储此实例相关联的自定义key-value值并发送到eureka server,此元表能够被其他实例获取到。
  • dataCenterInfo: 实例在AWS的哪个数据中心。
  • ipAddress:此实例的ip地址。
  • statusPageUrlPath:状态页自定义访问链接。
  • StatusPageUrl:状态也访问链接。
  • homePageUrlPath:自定义首页访问链接。
  • homePageUrl:首页访问链接。
  • healthCheckUrlPath:自定义健康状态访问链接。
  • healthCheckUrl:健康状态访问链接。
  • secureHealthCheckUrl:安全健康状态访问链接。
  • nameSpace:命名空间,使用此命名空间查找响应的属性。
  • defaultAddressResolutionOrder:AWS中实例的地址信息数组,包括publicHostname, publicIp,privateHostname, privateIp。

EurekaClientConfig

  • registryFetchIntervalSeconds: 从eureka server获取注册信息的间隔,单位秒。
  • instanceInfoReplicationIntervalSeconds: 上报当前节点的信息到eureka server的间隔,单位秒
  • initialInstanceInfoReplicationIntervalSeconds: 初始化后多少秒将当前节点的信息上报到eureka server
  • eurekaServiceUrlPollIntervalSeconds: 获取eureka server url地址改变的时间间隔,单位秒。server端会修改此值。
  • proxyHost: 代理主机,可选。
  • proxyPort: 代理端口,可选。
  • proxyUserName: 代理用户名。
  • proxyPassword: 代理用户密码。
  • shouldGZipContent: 传输内容是否压缩过。
  • eurekaServerReadTimeoutSeconds: 当读取某个eureka server时的超时时间。
  • EurekaServerConnectTimeoutSeconds: 连接某个eureka server时的超时时间。
  • backupRegistryImpl: BackupRegistry的实现类,备份注册信息。
  • eurekaServerTotalConnections: 允许当前实例向所有eureka server发起的连接总数。
  • eurekaServerTotalConnectionsPerHost: 允许当前实例向单个eureka server发起的连接总数。
  • eurekaServerURLContext: 当eureka server列表为DNS查询获得时,使用此值构造URL连接eureka server。当shouldUseDnsForFetchingServiceUrls设置为true时,eureka client通过DNS获取eureka server的改变。
  • eurekaServerPort: 使用DNS获取server时,需要指定eureka server的端口用来连接。
  • eurekaServerDNSName: DNS的名称,用来查询eureka server列表。
  • shouldUseDnsForFetchingServiceUrls: 是否使用DNS的方式来查询eureka server列表。
  • shouldRegisterWithEureka: 当前实例是否注册到eureka server,以使其他实例可以发现它。
  • shouldUnregisterOnShutdown: 当前实例关闭时是否在eureka server上注销。
  • shouldPreferSameZoneEureka: 是否使用相同zone的eureka server。
  • allowRedirects: 是否允许eureka server将当前实例的请求进行重定向转发。
  • shouldLogDeltaDiff: 当解析服务器返回信息失败时,输出对比日志。
  • shouldDisableDelta: 是否开启对比。
  • fetchRegistryForRemoteRegions: 逗号分隔的region列表,当前实例将从region列表中获取可用的zone。
  • region: AWS中,当前实例所在的region。
  • availabilityZones: 可用的zone列表,数组。
  • eurekaServerServiceUrls: eureka server URL列表。
  • shouldFilterOnlyUpInstances: 是否过滤掉挂起状态的实例。
  • eurekaConnectionIdleTimeoutSeconds: 当前实例在连接eureka server时http关闭前能够保持的空闲时间。超过空闲时间http连接将会关闭。
  • shouldFetchRegistry: 当前实例是否同步eureka server的注册信息。
  • registryRefreshSingleVipAddress: 从单个VIP获取注册信息,格式 name:port,如果为null则不获取。
  • heartbeatExecutorThreadPoolSize: 心跳线程池大小。
  • heartbeatExecutorExponentialBackOffBound: 心跳重试延期最大因子。
  • cacheRefreshExecutorThreadPoolSize: 缓存信息刷新的线程池大小。
  • cacheRefreshExecutorExponentialBackOffBound: 缓存刷新重试延期最大因子。
  • dollarReplacement: $符号的替代字符。
  • EscapeCharReplacementL: _的替代字符。
  • shouldOnDemandUpdateStatusChange: 是否将当前实例的状态上报给eureka server。
  • encoderName:编码类名称,为空使用默认。
  • dncoderName:解码类名称,为空使用默认。
  • experimental: 试验特性配置名称,此配置为了避免开发新特性时造成API污染。

配置文件属性对照

{eureka}代表eureka为变量,是启动时通过java命令行参数传入的,eureka是默认值。{region}和{zone}为配置时自定义的变参region和zone。

  • {eureka}.client.refresh.interval: 单位秒,registryFetchIntervalSeconds 默认值30秒
  • {eureka}.appinfo.replicate.interval: 单位秒,instanceInfoReplicationIntervalSeconds 默认值40秒
  • {eureka}.serviceUrlPollIntervalMs: 单位毫秒 EurekaServiceUrlPollIntervalSeconds 默认值300秒
  • {eureka}.eurekaServer.proxyHost: proxyHost
  • {eureka}.eurekaServer.proxyPort: proxyPort
  • {eureka}.eurekaServer.proxyUserName: proxyUserName
  • {eureka}.eurekaServer.proxyPassword: proxyPassword
  • {eureka}.eurekaServer.gzipContent: shouldGZipContent 默认true
  • {eureka}.eurekaServer.readTimeout: 单位秒,eurekaServerReadTimeoutSeconds 默认值8秒
  • {eureka}.eurekaServer.connectTimeout: 单位秒,eurekaServerConnectTimeoutSeconds 默认值5秒
  • {eureka}.backupregistry: 类名,backupRegistryImpl 默认为null
  • {eureka}.eurekaServer.maxTotalConnections: 整数,eurekaServerTotalConnections,默认200
  • {eureka}.eurekaServer.maxConnectionsPerHost: 整数,eurekaServerTotalConnectionsPerHost 默认50
  • {eureka}.eurekaServer.context: eurekaServerURLContext,如果为null,则取{eureka}.context,如果还是null,则为null。
  • {eureka}.eurekaServer.port: eurekaServerPort,如果为null,则取{eureka}.port,如果还是null,则取null。
  • {eureka}.eurekaServer.domainName: EurekaServerDNSName,如果为null,则取eureka.domainName,如果还是null,则为null。
  • {eureka}.shouldUseDns: shouldUseDnsForFetchingServiceUrls 默认值为false
  • {eureka}.registration.enabled: shouldRegisterWithEureka 默认值为true
  • {eureka}.shouldUnregisterOnShutdown: shouldUnregisterOnShutdown 默认值为true
  • {eureka}.preferSameZone: shouldPreferSameZoneEureka 默认值为false
  • {eureka}.allowRedirects: allowRedirects 默认值为false
  • {eureka}.printDeltaFullDiff: shouldLogDeltaDiff 默认值为false
  • {eureka}.disableDelta: shouldDisableDelta 默认值为false
  • {eureka}.fetchRemoteRegionsRegistry: fetchRegistryForRemoteRegions 默认null
  • {eureka}.region: region(如果namespace是自定义的,先读取自定义namespace.region,读取为null才读取eureka.region) 默认值us-east-1
  • {eureka}.{region}.availabilityZones: availabilityZones 使用“,”分割,默认值defaultZone。
  • {eureka}.serviceUrl.{zone}: eurekaServerServiceUrls 如果为空,使用{eureka}.serviceUrl.default的值,使用“,”分割,2个都为null则为null。
  • {eureka}.shouldFilterOnlyUpInstances: shouldFilterOnlyUpInstances 默认值true
  • {eureka}.eurekaserver.connectionIdleTimeoutInSeconds: 单位秒,eurekaConnectionIdleTimeoutSeconds 默认值30秒
  • {eureka}.shouldFetchRegistry: shouldFetchRegistry 默认值true
  • {eureka}.registryRefreshSingleVipAddress: RegistryRefreshSingleVipAddress 默认值null
  • {eureka}.client.heartbeat.threadPoolSize: 整数 heartbeatExecutorThreadPoolSize 默认值5
  • {eureka}.client.heartbeat.exponentialBackOffBound: 整数 heartbeatExecutorExponentialBackOffBound 默认值10
  • {eureka}.client.cacheRefresh.threadPoolSize: 整数 cacheRefreshExecutorThreadPoolSize 默认值5
  • {eureka}.client.cacheRefresh.exponentialBackOffBound: 整数 cacheRefreshExecutorExponentialBackOffBound 默认值10
  • {eureka}.dollarReplacement: 字符串 dollarReplacement 默认值“_-”
  • {eureka}.escapeCharReplacement: 字符串 escapeCharReplacement 默认值“__”
  • {eureka}.shouldOnDemandUpdateStatusChange: shouldOnDemandUpdateStatusChange 默认值true
  • {eureka}.encoderName: encoderName 默认值null
  • {eureka}.decoderName: decoderName 默认值null
  • {eureka}.clientDataAccept:clientDataAccept 默认full
  • {eureka}.experimental.{name}: experimental 默认null