Eureka服务配置与进阶
1. Eureka服务配置与进阶
1.1. 主要配置
1.1.1. 服务端(eureka.server.*)
enableSelfPreservation
默认true,启用注册中心的自保护机制,Eureka如果统计到15分钟之内损失>15%的微服务心跳,则会触发自保护机制,不再提出服务提供者waitTimeInMsWhenSyncEmpty
默认1000605,在Eureka服务器获取不到集群里对等服务器上的实例时,需要等待的时间,单位为毫秒,单机开发模式建议设置为0
1.1.2. 客户信息配置(eureka.client.*)
serviceUrl
指定服务注册中心,类型为HashMap,并设置有一组默认值,默认key为defaultZone;默认的Value为http://localhost:8761/eureka,如果服务注册中心为高可用集群时,多个注册中心地址以逗号分隔。如果服务注册中心加入了安全验证,这里配置的地址格式为http://<username>:<password>@localhost:8761/eureka
fetchRegistry
是否从Eureka服务端获取注册信息,默认trueregistryFetchIntervalSeconds
从Eureka服务端获取注册信息的间隔时间,单位为秒,默认30registerWithEureka
是否要将自身的实例信息注册到Eureka服务端,默认true
1.1.3. 实例级别配置(eureka.instance.*)
leaseRenewalIntervalInSeconds
,Eureka客户端向服务端发送心跳的时间间隔,单位为秒,默认30leaseExpirationDurationInSeconds
,Eureka服务端在收到最后一次心跳之后等待的过期时间上线,单位为秒。超过该时间没有收到心跳,则服务端会将该服务实例从服务清单中剔除,从而禁止服务调用请求被发送到该实例上appname
服务名,默认取spring.application.name的配置值,如果没有则为unknownhostname
主机名,不配置的时候将根据操作系统的主机名来获取instance-id
注册到eureka的实例id,推荐${spring.cloud.client.ip-address}:${spring.application.name}:${server.port}
1.1.4. Ribbon主要配置项({svc}.ribbon.*)
ConnectionTimeout
连接超时时间,默认值1000msReadTimeout
读取超时时间,默认1000msServerListRefreshInterval
刷新服务列表源的间隔时间,默认30sNFLoadBalancerClassName
定制ILoadBalancer实现,默认com.netflix.loadbalancer.ZoneAwareLoadBalancer
NFLoadBalancerRuleClassName
定制IRule实现,默认com.netflix.loadbalancer.ZoneAvoidanceRule
NFLoadBalancerPingClassName
定制IPing,默认com.netflix.loadbalancer.DummyPing
NIWSServerListClassName
定制ServerList,默认com.netflix.loadbalancer.ConfigurationBasedServerList
ServerListUpdateClassName
定制serverListUpdater,默认com.netflix.loadbalancer.PollingServerListUpdater
NIWSServerListFilterClassName
定制ServerListFilter,默认com.netflix.loadbalancer.ZonePreferenceServerListFilter
1.2. Eureka自保护模式
- 避免网络分区或抖动导致的,服务端与Eureka通信不成功,但实际服务端是存活的
1.3. 心跳检查和应用检测
- 实例会定期默认30s,向Eureka Server发送心跳式健康检查,把自己的状态服务实例信息上报上去
- 定制注册
EurekaClient#registerHeathCheck
- Spring Cloud配置
eureka.client.healthcheck.enable=true
,EurekaHealthCheckHandler中回去执行检查,DiskSpaceHealthIndicator
,RefreshScopeHealthIndicator
,HystrixHealthIndicator
- 获取应用信息
GET /eureka/apps/ORDER-SERVICE
,获取XML信息结果 - 实例信息更新延迟的地方有哪些
- 注册延迟(30s)
- Eureka服务响应延迟(30s)
- Eureka客户端更新延迟(30s)
- Ribbon服务列表更新延迟(30s)
- 所以最大可能又2分钟延迟
1.4. 蓝绿发布
- 发布工具拉出
1.5. 服务注册中心对比
Eureka服务配置与进阶的更多相关文章
- SpringCloud 进阶之Eureka(服务注册和发现)
1. Eureka 服务注册与发现 Eureka 是一个基于REST的服务,用于服务的的注册与发现; Eureka采用C-S的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册 ...
- Eureka服务下线后快速感知配置
现在由于eureka服务越来越多,发现服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化,依旧还在持续调用下线的服务,导致长时间后才能返回错误,因此需要调整eureka服务和客户端的配置,以 ...
- SpringCloud系列四:Eureka 服务发现框架(定义 Eureka 服务端、Eureka 服务信息、Eureka 发现管理、Eureka 安全配置、Eureka-HA(高可用) 机制、Eureka 服务打包部署)
1.概念:Eureka 服务发现框架 2.具体内容 对于服务发现框架可以简单的理解为服务的注册以及使用操作步骤,例如:在 ZooKeeper 组件,这个组件里面已经明确的描述了一个服务的注册以及发现操 ...
- spring-cloud配置高可用eureka服务端
spring-cloud配置eureka服务端 eureka用来发现其他程序 依赖 <?xml version="1.0" encoding="UTF-8" ...
- Spring Cloud(九)高可用的分布式配置中心 Spring Cloud Config 集成 Eureka 服务
上一篇文章,讲了SpringCloudConfig 集成Git仓库,这一篇我们讲一下SpringCloudConfig 配和 Eureka 注册中心一起使用 在分布式系统中,由于服务数量巨多,为了方便 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-07 Eureka服务注册中心配置控制台问题处理
笔记 7.Eureka服务注册中心配置控制台问题处理 简介:讲解服务注册中心管理后台,(后续还会细讲) 问题:eureka管理后台出现一串红色字体:是警告,说明有服务上线率低 EMERGENC ...
- eureka 服务实例实现快速下线快速感知快速刷新配置解析
Spirng Eureka 默认配置解读 默认的Spring Eureka服务器,服务提供者和服务调用者配置不够灵敏,总是服务提供者在停掉很久之后,服务调用者很长时间并没有感知到变化.或者是服务已经注 ...
- SpringCloud学习笔记(四):Eureka服务注册与发现、构建步骤、集群配置、Eureka与Zookeeper的比较
简介 Netflix在设计Eureka时遵守的就是AP原则 拓展: 在分布式数据库中的CAP原理 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性). Availab ...
- Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****
http://www.idouba.net/spring-cloud-source-eureka-client-api/?utm_source=tuicool&utm_medium=refer ...
随机推荐
- 对Python这门课程的理解。
这门课程是现在热门,对之后的就业和利用的帮助还是很大的. 希望能学完整本书并且能学以致用,而不是单单只获得理论知识. 学完之后能用于数据库.大数据处理.图形编程等等
- 第二次作业 单例模式的SessionFactory
一.基础Hibernate环境搭建(参见http://www.cnblogs.com/sangewuxie/p/9004968.html) 二.实体类User及User.hbm.xml配置 1.Use ...
- leetcode_1. Two Sum
leetcode_1. Two Sum 前言: 这段时间开始敲leetcode.我认为这并不仅仅只是为了应付笔试,面试.而是确实有着一定的意义. 尤其,你提交代码后,网站会多方面验证你的答案. 另外, ...
- PHP内核之旅-3.变量
PHP 内核之旅系列 PHP内核之旅-1.生命周期 PHP内核之旅-2.SAPI中的Cli PHP内核之旅-3.变量 一.弱类型语言 php是弱类型语言.一个变量可以表示任意数据类型. php强大的一 ...
- UUID那些事
UUID那些事 UUID 是一个全局唯一的通用识别码.它使用某种规则,而不是某种中心化的自增方式,来保证这个识别码的全局唯一性.UUID 有非常多的使用场景,比如在分布式系统中,需要生成全局唯一 ID ...
- Spring源码阅读笔记
前言 作为一个Java开发者,工作了几年后,越发觉力有点不从心了,技术的世界实在是太过于辽阔了,接触的东西越多,越感到前所未有的恐慌. 每天捣鼓这个捣鼓那个,结果回过头来,才发现这个也不通,那个也不精 ...
- Proxy是在什么时候调用InvocationHandler的invoke方法的
最近看到spring的动态代理,扒到深处看到时 Proxy.newProxyInstance(classLoader, proxiedInterfaces, this);看到这一句,顿时比较懵逼,还是 ...
- Struts标签库详解【3】
struts2标签库详解 要在jsp中使用Struts2的标志,先要指明标志的引入.通过jsp的代码的顶部加入以下的代码: <%@taglib prefix="s" uri= ...
- Hessian基础入门案例
Hessian是一个轻量级的remoting onhttp工具,使用简单的方法提供了RMI的功能. 相比WebService,Hessian更简单.快捷.采用的是二进制RPC协议,因为采用的是二进制协 ...
- SSM-SpringMVC-23:SpringMVC中初探异常解析器
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客要讲的是异常解析器,SimpleMappingExceptionResolver简单映射异常解析器 可 ...