启动两个client,过了一会,停了其中一个,访问注册中心时,界面上显示了红色粗体警告信息:
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.

Eureka server和client之间每隔30秒会进行一次心跳通信,告诉server,client还活着。由此引出两个名词:

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

server禁止注册自己为client,不管server是否禁止,阈值(threshold)是1。client个数为n,阈值为1+2*n(此为一个server且禁止自注册的情况)
如果是多个server,且开启了自注册,那么就和client一样,是对于其他的server来说就是client,是要*2

我开了两个server,自注册,相关数据如下

阈值:1+21
renews:
1) 自注册 2 + 2
1
2) 非自注册:2*1

Eurake有一个配置参数eureka.server.renewalPercentThreshold,定义了renews 和renews threshold的比值,默认值为0.85。当server在15分钟内,比值低于percent,即少了15%的微服务心跳,server会进入自我保护状态,Self-Preservation。在此状态下,server不会删除注册信息,这就有可能导致在调用微服务时,实际上服务并不存在。
这种保护状态实际上是考虑了client和server之间的心跳是因为网络问题,而非服务本身问题,不能简单的删除注册信息

stackoverflow上,有人给出的建议是:
1、在生产上可以开自注册,部署两个server
2、在本机器上测试的时候,可以把比值调低,比如0.49
3、或者简单粗暴把自我保护模式关闭

eureka.server.enableSelfPreservation=false

EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY‘RE NOT. RENEWALS ARE LESSER相关推荐

  1. Spring Cloud Eureka 自我保护机制(EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY)

    在本地启动一个Euraka-Server服务(服务注册中心)和一个Euraka-Client服务(服务注册者-应用服务)两个服务.过了一会儿后,在Euraka-Server界面显示:EMERGENCY ...

  2. Spring Cloud(三):Eureka控制台参数说明

    1.HOME 进入Eureka控制台首页,首先看HOME页的头部 System Status Environment: 环境,默认为test,该参数在实际使用过程中,可以不用更改 Data cente ...

  3. SpringCloud(一):深入理解Eureka

    实例和客户端的元数据 Eureka Metadata for Instances and Clients 0.Eureka的元数据字面理解 原文: It is worth spending a bit ...

  4. Spring Cloud Eureka 自我保护机制

    Spring Cloud Eureka 自我保护机制 Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这 ...

  5. Spring Cloud中,Eureka常见问题总结

    Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项 ...

  6. 【学习笔记】Eureka服务治理代码实例、相关配置和原理机制详解

    文章目录 代码示例 启动一个服务注册中心 注册服务提供者 高可用注册中心 服务的发现与消费 Eureka的一些配置 服务注册类配置 服务实例类配置 实例名配置 端点配置 Eureka服务治理基础架构原 ...

  7. 【Java进阶】Eureka讲解与应用

    Eureka[juˈriːkə] 简介 Eureka是Netflix服务发现的服务端与客户端,Eureka提供服务注册以及服务发现的能力,当是Eureka Server时(注册中心),所有的客户端会向 ...

  8. Eureka的服务自我保护

    一个名字叫SPRINGCLOUD-EUREKA-CONSUMER,一个名字叫SPRINGCLOUD-EUREKA-PROVIDER,然后后面显示的是服务的详细信息,他的IP,服务名称,以及端口,然后U ...

  9. Eureka服务注册中心---SpringCloud

    Eureka服务注册中心 5.1 什么是Eureka Netflix在涉及Eureka时,遵循的就是API原则. Eureka是Netflix的有个子模块,也是核心模块之一.Eureka是基于REST ...

最新文章

  1. 为什么程序员都不写文档?
  2. 20100506 学习记录:grdview添加新的一行数据
  3. 用ffmpeg把gif动图分离成多张图片和ffmpeg多张图片合成gif动图
  4. SQL语句统计每天、每月、每年的 数据
  5. 谷爱凌的父亲不是谷歌5号员工,但母亲一家都是高学历的运动健将
  6. SpringMVC获取Request,Response, Session对象
  7. mongo数据库单节点搭建
  8. 5G精华问答 | 5G关键技术解读
  9. 2018-08-03北大青鸟S1结业 项目MyKTV的总结
  10. [matlab]使用struct创建结构体
  11. div+css 兼容ie6 ie7 ie8 ie9和FireFox Chrome等浏览器方法
  12. 服务器显示PSD缩略图么,psd缩略图补丁(如何显示psd缩略图)
  13. 老骥伏羲,某讯遗产K3路由器2021年刷机指南。
  14. 如何制作/输入 英语/美语音标
  15. ps教程完整版(来自百度网盘)
  16. 游戏出海Get,TikTok联手Zynga推出一款基于HTML5打造的手机游戏
  17. Linux下查看网络设备类型
  18. linux 安装qt5和qtcreator开发工具
  19. #完美解决 闪讯客户NetKeeper---Sorry,this application cannot under a Virtual Machine
  20. 判断三角形是何种三角形的测试用例

热门文章

  1. C/C++ 编译器优化
  2. Linux 内核的壳 —— shell
  3. html 特效隐藏div,如何实现用css3显示隐藏一个div特效
  4. python画动态图-python画动态图
  5. python爬虫什么意思-Python 爬虫是什么
  6. 爬虫python能做什么-Python除了爬虫,还能干啥?
  7. python爬虫菜鸟教程-Python爬虫学习100练001
  8. 为资产分类定义折旧范围_固定资产分类标准及折旧方法5
  9. python中len和range函数_for循环len函数和range函数的运用
  10. 实验楼python挑战答案_楼赛第1期-Linux项目挑战 题目解析