Eureka相关配置介绍

Eureka相关服务注册类配置解释:

     以下配置均以“eureka.client.”为前缀。代码实体类对应org.springframework.cloud.netflix.eureka.EurekaClientConfigBean

配置项

说明

默认值

enabled

是否开启Eureka客户端

true

registryFetchIntervalSeconds

从Eureka服务端获取注册信息的间隔时间,单位为秒

30

instanceInfoReplicationIntervalSenconds

更新实例信息的变化到Eureka服务端的时间间隔,单位秒

30

InitialInstanceInfoReplicationIntervalSconds

初始化实例信息到Eureka服务端的时间间隔,单位秒

40

eureka.client.eurekaServiceUrlPollIntervalSeconds

轮询Eureka服务端地址更改的时间间隔,单位秒。当动态刷新配置文件时,需要关注该配置。

300

eurekaServerReadTimeoutSeconds

读取Eureka server信息的超时时间,单位秒

8

eurekaConnectTimeoutSeconds

连接Eureka server信息的超时时间,单位秒

5

eurekaTotalConnections

从Eureka客户端到Eureka服务端的连接总数。

200

eurekaServerConnectionPerHost

从Eureka客户端每个到Eureka服务端主机的连接总数

50

eurekaConnectionIdleTimeoutSecondes

从Eureka客户端连接的空闲关闭时间,秒

30

heartbeatExcutorThreadPoolSize

心跳连接池的初始化线程数

2

heartbeatExcutorExponentialBackOffBound

心跳超时重试延迟时间的最大乘数值

10

cacheRefreshExcutorThreadPoolSize

缓存刷新线程池的初始化线程数

2

cacheRefreshExcutorExponentialBackOffBound

缓存刷新重试延迟时间的最大乘数值

10

usseDnsForFetchingServiceUrl

使用DNS来获取Eureka服务端的serviceUrl

false

reigisterWithEureka

是否要自身的实例信息注册到Eureka服务端

true

preferSameZoneEureka

是否偏好使用相同的Zone的Eureka服务端

true

filterOnlyUpInstances

获取实例是否过滤,仅保留UP状态的实例

true

fetchRegister

是或否从Eureka服务端获取实例注册信息

true

       Eureka的服务实例类配置:主要是元数据配置,实例名配置,端点配置健康监测配置等,具体实体类为org.springframework.cloud.netflix.eureka. EurekaInstanceConfigBean。

元数据:

       元数据是Eureka客户端在想服务注册中心发送注册请求时,用来描述自身服务信息的对象。包含了一些标准的元数据。如服务名称、实例名称、实例ip、实例端口等,以及其他自定义信息和用于负载均衡策略的信息。这些数据都会通过org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean加载,最终转为com.netflix.appinfo.InstanceInfo发送到服务端。ap<String, String> metadata = new ConcurrentHashMap<String, String>()是用来存储自定义的数据。标准数据元可以通过eureka.instance.<properties>=<value>的格式来配置。<properties>是EurekaInstanceConfigBean的成员变量名称。自定义的数据元可以通过eureka.instance.metadataMap.<key>=<value>的格式来配置

实例名称配置:

      实例名称是区分统一服务的不同实例的唯一标识。Spring cloud Eureka的默认生成方式是。${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.intance_id}:${server.port}。配置项是eureka.instance.instanceId。当我们在同一台服务器启动多个相同服务时,只需要将port写成随机random.int(10000,18999)。再讲实例名置称一个随机值即可,例如eureka.instance.instanceId=${spring.application.name}:${random.int}。这样就能保证实例不冲突。

端点配置:

InstanceInfo可以看到有以下配置。

//应用主页的url

private volatile String homePageUrl;

//状态页的url

private volatile String statusPageUrl;

//健康检查的url

private volatile String healthCheckUrl;

      Spring cloud Eureka默认使用了spring-boot-actuator提供的/info和/health。服务端开启健康检查(healthcheck)时,客户端的/heath必须是一个可访问的地址,否则服务端将无法更新对应客户端的健康状态。/info是服务端页面单击服务实例时,用来访问查询服务信息的。

      很多情况我们服务是由上下文信息的。这是,我们就需要在spring-boot-actuator的监控端点前加入一个前缀。如:

management.context-path=/service

//状态检查url

eureka.instance. statusPageUrlPath=${management.context-path}/info

//健康检查url

eureka.instance. healthcheckUrlPath=${management.context-path}/health

甚至,我们还可以修改/info和/health这些原生端点。这样的修改如下:

management.context-path=/service

 

endpoints.info.path=/serviceInfo

endpoints.health.path=/serviceHealth

 

//状态检查url

eureka.instance. statusPageUrlPath=${management.context-path}${endpoints.info.path}

//健康检查url

eureka.instance. healthcheckUrlPath=${management.context-path}${endpoints.health.path}

以上的例子中都是以http请求来访问的,所以配置的都是相对路径。当我们需要以https来访问时,我们需要配置绝对路径。

//状态检查url

eureka.instance. statusPageUrlPath=https://${eureka.instance.hostname}/info

//健康检查url

eureka.instance. healthcheckUrlPath= https://${eureka.instance.hostname}/health

eureka.instance. homePageUrl= https://${eureka.instance.hostname}/

其他配置信息:

均以eureka.instance

配置项

说明

默认值

preferIpAddress

是否优先使用IP地址作为主机名的标识

False

leaseRenewalIntervalInSeconds

Eurek客户端向服务端发送心跳的时间间隔,单位秒

30

leaseExpirationDurationInSeconds

Urek服务端在收到最后一次心跳之后的等待时间上限,单位秒。超过该时间后服务端会将实例从服务清单中清除。禁止服务端调用请求到该实例上

90

nonSecurePort

非安全通信端口号

80

securePort

安全通信端口号

443

nonSecurePortEnabled

是否启用安全通信端口号

true

appname

服务名称,默认为spring.applicaiont.name的是。没有则为unknown

 

hostname

主机名,不配置时就是用操作系统的主机名来获取

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值