EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE
一、Eureka的自我保护模式
如果在Eureka Server的首页看到以下这段提示,则说明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.
- 1
- 2
- 3
- 4
一般出现此模式时,服务返回错误。即如果真实的服务已经Down掉,但在注册中心界面服务却一直存在,且显示为UP状态。
产生原因:
Eureka Server在运行期间,会统计心跳失败的比例在15分钟之内是否
低于85%,如果出现低于的情况(在单机调试的时候很容易满足,实际在
生产环境上通常是由于网
络不稳定导致),Eureka Server会将当前的实例注册信息保护起来,同时提
示这个警告。保护模式主要用于一组客户端和Eureka Server之间存在网络分
区场景下的保护。一旦进入保护模式,Eureka Server将会尝试保护其服务注
册表中的信息,不再删除服务注册表中的数据(也就是不会注销任何微服务)。
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
解决方法:
详情可见上一篇博客,就不在这边赘述了。
- 1
- 2
如何处理服务挂掉后或者手动关闭服务后,Ribbon负载均衡还是一直调用这个服务:
1.Hystrix,在fallback方法中shutdown指定的服务
2.让zuul只路由到活着的那个服务:
添加依赖:<dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>3.6.0</version></dependency>
配置文件:
ribbon.connectTimeout: 2000
ribbon.readTimeout: 10000
ribbon.maxAutoRetries: 1
ribbon.maxAutoRetriesNextServer: 2
ribbon.okToRetryOnAllOperations: true
ribbon.okhttp.enabled: true
3.重试机制(和上述一个道理)
spring.cloud.loadbalancer.retry.enabled=true
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=10000
hello-service.ribbon.ConnectTimeout=250
hello-service.ribbon.ReadTimeout=1000
hello-service.ribbon.OkToRetryOnAllOperations=true
hello-service.ribbon.MaxAutoRetriesNextServer=2
hello-service.ribbon.MaxAutoRetries=1spring.cloud.loadbalancer.retry.enabled:该参数用来开启重试机制,它默认是关闭的。这里需要注意,官方文档中的配置参数少了enabled
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds:断路器的超时时间需要大于ribbon的超时时间,不然不会触发重试。hello-service.ribbon.ConnectTimeout:请求连接的超时时间hello-service.ribbon.ReadTimeout:请求处理的超时时间hello-service.ribbon.OkToRetryOnAllOperations:对所有操作请求都进行重试hello-service.ribbon.MaxAutoRetriesNextServer:切换实例的重试次数hello-service.ribbon.MaxAutoRetries:对当前实例的重试次数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
二、指定Eureka的Environment
eureka.environment: 指定环境
- 1
- 2
三、指定Eureka的DataCenter
eureka.datacenter: 指定数据中心
- 1
- 2
四、Whitelabel Error Page
@springBootApplication在进行加载时,只会加载其入口的当前目录及其子目录下的服务,如果存放在其它目录下,应用扫描不到
- 1
- 2
有不准确,或者有疑问的地方朋友,可以加群,也可以在评论中指出,谢谢大家
EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY'RE NOT. RENEWALS ARE相关推荐
- EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY‘RE NOT. RENEWALS ARE LESSER
启动两个client,过了一会,停了其中一个,访问注册中心时,界面上显示了红色粗体警告信息: EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANC ...
- Spring Cloud Eureka 自我保护机制(EMERGENCY! EUREKA MAY BE INCORRECTLY CLAIMING INSTANCES ARE UP WHEN THEY)
在本地启动一个Euraka-Server服务(服务注册中心)和一个Euraka-Client服务(服务注册者-应用服务)两个服务.过了一会儿后,在Euraka-Server界面显示:EMERGENCY ...
- Spring Cloud(三):Eureka控制台参数说明
1.HOME 进入Eureka控制台首页,首先看HOME页的头部 System Status Environment: 环境,默认为test,该参数在实际使用过程中,可以不用更改 Data cente ...
- SpringCloud(一):深入理解Eureka
实例和客户端的元数据 Eureka Metadata for Instances and Clients 0.Eureka的元数据字面理解 原文: It is worth spending a bit ...
- Spring Cloud Eureka 自我保护机制
Spring Cloud Eureka 自我保护机制 Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这 ...
- Spring Cloud中,Eureka常见问题总结
Spring Cloud中,Eureka常见问题总结. 1 eureka.environment: 指定环境 参考文档: 1 eureka.datacenter: 指定数据中心 参考文档: 使用配置项 ...
- 【学习笔记】Eureka服务治理代码实例、相关配置和原理机制详解
文章目录 代码示例 启动一个服务注册中心 注册服务提供者 高可用注册中心 服务的发现与消费 Eureka的一些配置 服务注册类配置 服务实例类配置 实例名配置 端点配置 Eureka服务治理基础架构原 ...
- 【Java进阶】Eureka讲解与应用
Eureka[juˈriːkə] 简介 Eureka是Netflix服务发现的服务端与客户端,Eureka提供服务注册以及服务发现的能力,当是Eureka Server时(注册中心),所有的客户端会向 ...
- Eureka的服务自我保护
一个名字叫SPRINGCLOUD-EUREKA-CONSUMER,一个名字叫SPRINGCLOUD-EUREKA-PROVIDER,然后后面显示的是服务的详细信息,他的IP,服务名称,以及端口,然后U ...
- Eureka服务注册中心---SpringCloud
Eureka服务注册中心 5.1 什么是Eureka Netflix在涉及Eureka时,遵循的就是API原则. Eureka是Netflix的有个子模块,也是核心模块之一.Eureka是基于REST ...
最新文章
- Cling旨在提供一款高性能的C++ REPL
- Kafka与RabbitMQ
- python有关迭代器和生成器的面试题_【面试题 | Python中迭代器和生成器的区别?】- 环球网校...
- 多文件的Makefile
- 工控图表控件ProEssentials改变子集的颜色和线条风格
- Java 12:使用开关表达式进行映射
- php 字符ascii转中文,PHP ASCII码与字符串相互转换的方法
- 涨价潮或延续至下半年 芯片国产化遇机遇
- 085 对象的绑定方法
- oracle临时表中数据消失了,oracle 临时表的使用
- Shell脚本实现判断一个数是否为质数
- ips 测试软件,IPS测试方法.doc
- 怎么自学编程python_怎样自学Python编程?
- 十大管理之项目干系人管理知识点
- MinGW32编译ffmpeg+libsrt
- AutoCAD二次开发:ObjectArx下的两种命令注册方式
- 【爬坑】解决“ImportError: cannot import name ‘soft_unicode‘ from ‘markupsafe‘ ”的问题
- 内核文件管理-IRP(一)创建或打开文件
- 全球及中国集成电路产业战略规划与运营前景调研报告2022版
- SAP中国区总裁萧洁云:我加盟SAP的三个原因
热门文章
- 无人机航测技术在地形测绘中的应用
- 历届奥斯卡最佳影片奖(推荐经典电影)
- 我为什么从阿里巴巴集团离职?
- 贴吧怎么发帖,发防删图出现审核怎么办?
- 用场景应用™玩转#冰桶挑战#
- _validate_lengths‘ from ‘numpy.lib.arraypad
- 汉能薄膜太阳能技术将国家电投大楼变身节能光伏建筑
- NetSuite 精益实施的ALV实践
- P3369 普通平衡树模板 treap
- 论文笔记 General Advantage Estimation(GAE)