在使用eureka过程中,查看监控界面,出现:

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. 
RENEWALS ARE LESSER THAN THRESHOLD AND HENCE THE INSTANCES ARE NOT BEING EXPIRED JUST TO BE SAFE.

Renews threshold:server期望在每分钟中收到的心跳次数 
Renews (last min):上一分钟内收到的心跳次数。

自我保护机制的工作机制是如果在15分钟内超过15%(100%-85%)的客户端节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,

Eureka Server自动进入自我保护机制

Eurake有一个配置参数eureka.server.renewalPercentThreshold,定义了renews 和renews threshold的比值,默认值为0.85。可以修改这个参数

这里涉及三个方面:

1. Eureka server和client之间每隔30秒会进行一次心跳通信,告诉server,client还活着。

2. 默认情况下,如果Eureka Server在一定时间内(默认90秒)没有接收到某个微服务实例的心跳,Eureka Server将会移除该实例。

3. 如果在15分钟内超过15%(100%-85%)的客户端节点都没有正常的心跳,则自动进入自我保护机制

自我保护机制时会出现以下几种情况:

1、Eureka Server不再从注册列表中移除因为长时间没收到心跳而应该过期的服务。

2、Eureka Server仍然能够接受新服务的注册和查询请求,但是不会被同步到其它节点上,保证当前节点依然可用。

3、当网络稳定时,当前Eureka Server新的注册信息会被同步到其它节点中

stackoverflow上看到一个解释的比较清楚的:
https://stackoverflow.com/questions/33921557/understanding-spring-cloud-eureka-server-self-preservation-and-renew-threshold#

每个实例都需要将其租约更新到Eureka Server,频率为每30秒一次,可以在其中定义eureka.instance.leaseRenewalIntervalInSeconds。

续订(最后一分钟):表示在最后一分钟从Eureka实例收到的续订数量

续订阈值:Eureka服务器预期每分钟从Eureka实例收到的续订。

例如,如果registerWithEureka设置为false,eureka.instance.leaseRenewalIntervalInSeconds则设置为30并运行2 Eureka实例。两个Eureka实例每分钟将向Eureka服务器
发送4次更新,Eureka服务器最小阈值为1(用代码编写),因此阈值为5(这个数字将乘以一个因子eureka.server.renewalPercentThreshold,稍后将讨论)。 问题1: SELF PRESERVATION MODE旨在避免网络连接故障。Eureka实例A和B之间的连接很好,但是由于连接问题,B很难在短时间内将租约更新到Eureka服务器,此时Eureka服务器不能简单地启动实例B.如果是,则实例尽管B可用,但无法从Eureka服务器获得注册服务。所以这就是SELF PRESERVATION MODE的目的,最好将其打开。 问题2: 最小阈值1写在代码中。registerWithEureka设置为false,因此没有Eureka实例寄存器,阈值将为1。 在生产环境中,通常我们部署两个Eureka服务器并将registerWithEureka设置为true。所以门槛将是2,Eureka服务器将续租两次/分钟,所以RENEWALS ARE LESSER THAN THRESHOLD不会有问题。 问题3: 你是对的。eureka.instance.leaseRenewalIntervalInSeconds定义每分钟发送到服务器的续订次数,但它将乘以eureka.server.renewalPercentThreshold上面提到的因子,默认值为0.。 问题4: 是的,这是正常的,因为阈值初始值设置为1.因此,如果registerWithEureka设置为false,则续订总是低于阈值。 我有两个建议: 部署两台Eureka服务器并启用registerWithEureka。
如果您只想在demo / dev环境中部署,则可以设置eureka.server.renewalPercentThreshold为0.,因此当您单独启动Eureka服务器时,阈值将为0。

可参考文章:

http://www.cnblogs.com/bjlhx/p/8903006.html

【转载】SpringCloud-Eurek 心跳阈值说明的更多相关文章

  1. 《springcloud 一》搭建注册中心,服务提供者,服务消费者

    注册中心环境搭建 Maven依赖信息 <parent> <groupId>org.springframework.boot</groupId> <artifa ...

  2. 【SpringCloud技术专题】「Eureka源码分析」从源码层面让你认识Eureka工作流程和运作机制(上)

    前言介绍 了解到了SpringCloud,大家都应该知道注册中心,而对于我们从过去到现在,SpringCloud中用的最多的注册中心就是Eureka了,所以深入Eureka的原理和源码,接下来我们要进 ...

  3. spring-cloud-eureka服务注册与发现

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的.SpringCloud将它集成在其子项 ...

  4. SpringCloud-初见

    目录 前言 微服务概述 微服务与微服务架构 微服务优缺点 微服务技术栈 为什么选择SpringCloud作为微服务架构 SpringCloud入门 SpringCloud和SpringBoot的关系 ...

  5. Spring Cloud之Eureka自我保护环境搭建

    Eureka详解 服务消费者模式 获取服务 消费者启动的时候,使用服务别名,会发送一个rest请求到服务注册中心获取对应的服务信息,让后会缓存到本地jvm客户端中,同时客户端每隔30秒从服务器上更新一 ...

  6. Spring Cloud第三篇 | 搭建高可用Eureka注册中心

    ​ ​本文是Spring Cloud专栏的第三篇文章,了解前两篇文章内容有助于更好的理解后面文章: Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览 Spring ...

  7. SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(转载)

    SpringCloud 教程 | 第一篇: 服务的注册与发现Eureka(Finchley版本) 转载请标明出处:http://blog.csdn.net/forezp/article/details ...

  8. GJM : 【C# 高性能服务器】完成端口、心跳的高性能Socket服务器 [转载]

    感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...

  9. [转载+原创]Emgu CV on C# (四) —— Emgu CV on 全局固定阈值二值化

    重点介绍了全局二值化原理及数学实现,并利用emgucv方法编程实现. 一.理论概述(转载,如果懂图像处理,可以略过,仅用作科普,或者写文章凑字数)  1.概述 图像二值化是图像处理中的一项基本技术,也 ...

随机推荐

  1. [ 高危 ] my网任意账户登陆

    该网站的任意登录其实都已经提交得差不多了,本来以为这个漏洞会是一个重复的,然而试了一下发现思路奇葩. 任意登录,一般都为验证码爆破,4位手机验证码,而用于拦截的图片验证码没有或者可以重复使用,所以就能 ...

  2. 高效使用hibernate-validator校验框架

    一.前言 高效.合理的使用hibernate-validator校验框架可以提高程序的可读性,以及减少不必要的代码逻辑.接下来会介绍一下常用一些使用方式. 二.常用注解说明 限制 说明 @Null 限 ...

  3. 222. Getter与Setter

    Description Implement a class School, including the following attributes and methods: A private attr ...

  4. BZOJ.5338.[TJOI2018]xor(可持久化Trie)

    BZOJ LOJ 洛谷 惊了,18年了还有省选出模板题吗= = 做这题就是练模板的,我就知道我忘的差不多了 询问一就用以DFS序为前缀得到的可持久化Trie做,询问二很经典的树上差分. 注意求询问二的 ...

  5. 2159 ACM 杭电 杀怪 二维费用的背包+完全背包问题

    题意:已知经验值,保留的忍耐度,怪的种数和最多的杀怪数.求进入下一级的最优方案. 思路:用二维费用的背包+完全背包问题 (顺序循环)方法求解 什么是二维费用的背包问题? 问题: 二维费用的背包问题是指 ...

  6. python正则表达式(一)

    ---恢复内容开始--- 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE),是计 ...

  7. NOIP考试各种技巧!!

    考前时间利用对考生起着至关重要的作用,不容忽视! 一.考前几分钟时间,往往能决定成败,所以一定要做好心态调整.不要去想结果,只看过程,努力了就一定不会白费.二.在别人紧张.坐立不安的时候,你不妨把时间 ...

  8. Creator 插件商店:高品质插件

    资源处理类 资源引用查询 功能:将指定资源拖到目标资源框内并列出所有需要用到该资源的场景以及所在节点 点评:检查一下是否有冗余资源混进来了,尽量减少包体积呀. TexturePacker 碎图提取 功 ...

  9. ‘百度杯’十月场web ---login

    首先一看的题,既然是是web类的,就要查看源码,一看,最先有一行注释,估摸着是用户名和密码 果然登录上去了,显示一段乱码,源码也没有什么东西, 那就抓一次包吧 发现响应头里边有个show:0的响应,而 ...

  10. C#:前台线程后台线程

    1.线程分类 线程由程序员创建,可是创建的方式不同,总体来说有两种,一种是个人构造,也就是使用thread类new线程对象创建,这一类线程是大部分程序员知道的,也叫专用线程;还有一种是由CLR创建,这 ...