美文网首页
springcloud服务端配置文件

springcloud服务端配置文件

作者: maylor_zhu | 来源:发表于2017-08-21 17:37 被阅读410次

    服务注册类配置

    • 指定注册中心
      eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/
      配置值存储在HashMap中,默认的key为defaultZone,默认的value为http://localhost:8761/eureka/
      配置高可用注册中心时,可以配置多个注册中心,多个url使用逗号隔开
      为服务注册中心添加安全校验时,http://<username>:<password>@localhost:1111/eurekaa/
    • 其他配置
      下面整理了org.springframework.cloud.netflix.eureka.EurekaClient-ConfigBean中定义的常用配置参数以及对应的说明和默认值,这些参数均以eureka.client为前缀
    参数名 说明 默认值
    enable 启用eureka客户端 true
    eureka.client.registry-fetch-interval-seconds 从eureka服务端获取注册信息的间隔时间,单位为秒 30
    eureka.client.initial-instance-info-replication-interval-seconds 更新实例信息的变化到eureka服务端的间隔时间,单位为秒 30
    eureka.client.initial-instance-info-replication-interval-seconds 初始化实例信息到eureka服务端的时间间隔,单位为秒 40
    eureka.client.eureka-service-url-poll-interval-seconds 轮询eureka服务端地址更改的间隔时间,单位为秒。当我们与Spring Cloud Config配合,动态刷新Eureka的serviceURL地址时需要关注该参数 300
    eureka.client.eureka-server-read-timeout-seconds 读取eureka信息超时时间,单位为秒 8
    eureka.client.eureka-server-connect-timeout-seconds 链接eureka超时时间,单位为秒 5
    eureka.client.eureka-server-total-connections 从eureka客户端到所有eureka服务器的连接总数 200
    eureka.client.eureka-server-total-connections-per-host 从eureka客户端到每个eureka主机的连接总数 50
    eureka.client.eureka-connection-idle-timeout-seconds eureka服务器连接的空闲关闭时间,单位为秒 30
    eureka.client.heartbeat-executor-thread-pool-size 心跳连接池的初始化线程数 2
    eureka.client.heartbeat-executor-exponential-back-off-bound 心跳超时重试延迟时间的最大乘数值 10
    eureka.client.cache-refresh-executor-thread-pool-size 缓存刷新线程池的初始化线程数 2
    eureka.client.cache-refresh-executor-exponential-back-off-bound= 缓存刷新重试延迟时间的最大乘值 10
    eureka.client.use-dns-for-fetching-service-urls 使用dns来获取eureka服务端的serviceUrl false
    eureka.client.register-with-eureka 是否要将自身的实例信息注册到eureka服务端 true
    eureka.client.prefer-same-zone-eureka 是否偏好使用处于相同zone的eureka服务端 true
    eureka.client.filter-only-up-instances= 获取实例时是否过滤,仅保留up状态的实例 true
    eureka.client.fetch-registry 是否从eureka服务端获取注册信息 true

    服务实例类配置

    可以通过org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean的源码来获取详细内容,这些配置信息都是以eureka.instance为前缀。

    • 实例名配置 区分同一个服务中不同实例的唯一标识。
      eureka.instance.instanceId
      在springcloud中的默认规则:${spring.cloud.client.hostname}:${spring.application.name}:${spring.application.instance_id:${server.port}}
      对于实例名的命名规则可以通过eureka.instance.instanceId参数进行配置
      如:eureka.instance.instanceId=${spirng.applicaiton.name}:${random.int}

    • 端点配置
      在InstanceInfo中的一些URL配置信息,比如homePageUrl,statusPageUrl,healthCheckUrl分别代表了应用主页的URL、状态页的URL、健康检查的URL。其中状态也和健康检查的URL在spring Cloud Eureka中默认使用spirng-boot-actuator模块提供的/info断点和/health端点。
      可以通过
      eureka.instance.statusPageUrlPath=/hello/info
      eureka.instance.healthCheckUrlPath=/hello/checkhealth
      来修改页面路径

    • 健康检测
      在没有引入spring-cloud-actuator模块的情况下,服务实例的健康检测是通过客户端心跳的方式来实现的。默认的心跳实现方式可以实现检查客户端的进程是否正常运作,但却无法保证客户端应用能够正常提供服务,比如数据库,缓存,消息等连接无法使用。
      这个时候就需要引入spring-cloud-actuator模块,并配置eureka.client.healthcheck.enable=true。

    • 其他配置

    参数名 说明 默认值
    eureka.instance.prefer-ip-address 是否优先使用IP地址作为主机名的标识 false
    eureka.instance.lease-renewal-interval-in-seconds Eureka客户端想服务端发送心跳的时间间隔,单位为秒 30
    eureka.instance.lease-expiration-duration-in-seconds Eureka服务端在收到最后一次心跳之后的等待时间的时间上限,单位为秒。超过该时间之后服务端会将该服务实例从服务清单中剔除,从而禁止服务调用请求被发送到该实例上 90
    eureka.instance.appname 服务名,默认取spring.application.name的配置值,如果没有则为unknown
    eureka.instance.virtual-host-name 主机名,不配置的时候将根据操作系统的主机名来获取

    相关文章

      网友评论

          本文标题:springcloud服务端配置文件

          本文链接:https://www.haomeiwen.com/subject/wzdqrxtx.html