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/eurekafetchRegistry是否从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.ZoneAwareLoadBalancerNFLoadBalancerRuleClassName定制IRule实现,默认com.netflix.loadbalancer.ZoneAvoidanceRuleNFLoadBalancerPingClassName定制IPing,默认com.netflix.loadbalancer.DummyPingNIWSServerListClassName定制ServerList,默认com.netflix.loadbalancer.ConfigurationBasedServerListServerListUpdateClassName定制serverListUpdater,默认com.netflix.loadbalancer.PollingServerListUpdaterNIWSServerListFilterClassName定制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 ...
随机推荐
- CSS命名规则常用的css命名规则
CSS命名规则常用的css命名规则 头:header 内容:content/container 尾:footer 导航:nav 侧栏:sidebar 栏目:column 页面外围控制整体布局宽度:wr ...
- ABP+AdminLTE+Bootstrap Table aspnetboilerplate 学习
http://www.cnblogs.com/anyushengcms/p/7325126.html https://github.com/aspnetboilerplate/aspnetboiler ...
- vue国际化高逼格多语言
## 1.NPM 项目安装 ``` cnpm i vue-i18n ``` ## 2.使用方法 ``` /* 国际化使用规则 */ import Vue from 'vue' import VueI1 ...
- 《与C语言相恋》
第一章 <与C语言相恋> 目录: 1.1 C语言的诞生 1.2 相恋C语言的理由 1.3 相恋C语言的7个步骤 1.4 目标代码文件,可执行文件和库 1.5 本章小结 C语言的诞生 197 ...
- PAT1021:Deepest Root
1021. Deepest Root (25) 时间限制 1500 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue A graph ...
- linux查看系统的日志------健康检查特性
last https://www.cnblogs.com/anruy/articles/5541675.html Nginx反向代理,健康状态检测,过载保护及配置文件详 ...
- 设置ActiveMQ的访问密码
1.设置ActiveMQ的访问密码,以提高ActiveMQ的安全性 2.在ActiveMQ的conf目录的activemq.xml中添加账号密码 2.1 添加的代码如下 <!-- 添加访问Ac ...
- LINUX PID 1和SYSTEMD 专题
Linux下有3个特殊的进程,idle进程(PID = 0), init进程(PID = 1)和kthreadd(PID = 2) idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个 ...
- 一文看懂 Github
GitHub 介绍 GitHub 是为开发者构建的一个开发平台.GitHub 是一个受开发者工作方式启发的开发平台,从开源到商业,能够在上面进行托管和查看代码.管理项目和数百万其他开发人员一起开发软件 ...
- 聊一聊顺序消息(RocketMQ顺序消息的实现机制)
当我们说顺序时,我们在说什么? 日常思维中,顺序大部分情况会和时间关联起来,即时间的先后表示事件的顺序关系. 比如事件A发生在下午3点一刻,而事件B发生在下午4点,那么我们认为事件A发生在事件B之前, ...