问题触发场景

在K8s环境中,实例经常进行驱逐重排,导致客户端实例经常更换,当开启自我保护机制开启后,实例不会删除,导致部分请求会连接不存在的实例,客户端没有做重试或者熔断的话会出大量问题。

因此建议在K8s环境中不要开始自我保护机制,在网络稳定的环境中也不要开启。

PS:感觉自我保护就是一个坑。

Eureka Server自我保护机制配置,默认为true开启。

eureka:server:enable-self-preservation: true

自我保护开启时续约,续订功能关闭。

更新最小续订数

protected void updateRenewsPerMinThreshold() {this.numberOfRenewsPerMinThreshold = (int) (this.expectedNumberOfClientsSendingRenews* (60.0 / serverConfig.getExpectedClientRenewalIntervalSeconds())* serverConfig.getRenewalPercentThreshold());
}
  • numberOfRenewsPerMinThreshold:期望收到的续订数,向下取整。
  • this.expectedNumberOfClientsSendingRenew:续订客户端数量+1
  • serverConfig.getExpectedClientRenewalIntervalSeconds():多久续订一次,每分钟通过expected-client-renewal-interval-seconds配置。
  • serverConfig.getRenewalPercentThreshold():自我保护阀值,续订数低于期望比例时,开启自我保护机制。

如:2个客户端实例,续订默认30秒一次,阀值默认0.85。

numberOfRenewsPerMinThreshold = (2+1)*(60/30)*0.85 =3*2*0.85=5.1=5

当expected-client-renewal-interval-seconds改为5s,numberOfRenewsPerMinThreshold=3*12*0.85=30.6=30

Eureka自我保护机制原理及作用enable-self-preservation相关推荐

  1. eureka自我保护时间_Spring Cloud Eureka 自我保护机制

    自我保护出现 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行. 默认情况下,如果Eureka Serve ...

  2. Spring Cloud Eureka 自我保护机制

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

  3. eureka自我保护时间_SpringCloud Eureka自我保护机制

    自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行. 默认情况下,如果Eureka Serve ...

  4. SpringCloud Eureka自我保护机制

    转载自 SpringCloud Eureka自我保护机制 自我保护背景 首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他 ...

  5. SpringCloud Eureka自我保护机制介绍及配置

    概述:谈到Eureka的自我保护机制时,我们需要知道其中一些客户端和服务端的概念.比如客户端的心跳发送时间间隔.服务续约时间:服务端的服务剔除时间间隔.阈值更新时间间隔. 客户端心跳发送时间间隔(eu ...

  6. Eureka自我保护机制

    本文来说下Eureka自我保护机制 文章目录 为什么要有自我保护机制 重要变量 变量更新 Eureka-Server初始化 cancle主动下线 客户端注册 定时器 自我保护机制 开启 解除 本文小结 ...

  7. eureka:自我保护机制_对自我怀疑的开发人员:您足够好吗?

    eureka:自我保护机制 by Sihui Huang 黄思慧 对自我怀疑的开发人员:您足够好吗? (To self-doubting developers: are you good enough ...

  8. 深入理解Eureka 自我保护机制(五)

    对自我保护的理解: 自我保护的作用是保证服务的稳定性,也就是怕过多的服务心跳失败,是Eureka服务端的问题,而不是客户端的问题,所以为了避免将正常的服务剔除,所以加了保护机制,当然保护机制的话也有可 ...

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

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

  10. 天荒地老修仙功-第六部第二篇:Spring Cloud Eureka自我保护机制

    Eureka Server 在运行期间会去统计心跳失败比例在 15 分钟之内是否低于 85%,如果低于 85%,Eureka Server 会将这些实例保护起来,让这些实例不会过期,但是在保护期内如果 ...

最新文章

  1. linux修改定时后如何保存文件夹,linux定时任务的一些相关操作汇总
  2. 优化SQL步骤——查看SQL执行频率 || 定位低效率执行SQL
  3. 【机器学习算法专题(蓄力计划)】一、机器学习简史和常用算法的梳理
  4. 怎么确保一个集合不能被修改
  5. jquery的动画学习--jquery权威指南
  6. php云服务器买什么系统,什么是云服务器
  7. Atitit 如何利用先有索引项进行查询性能优化
  8. PHP OB-缓冲区
  9. java画函数图像_怎么用java绘制函数图像
  10. 分享常见的视频加密算法原理及其优缺点
  11. 「成人学习」掘金者,从教育走向生活方式
  12. DruidDataSource详解部分(一)
  13. Cocos2d-x 2.x、3.x读书摘要(2016-6-25 07:18)
  14. 面试官:这么简单的正则表达式都不会?
  15. html代码多媒体播放器,6 个基于 HTML5 实现的多媒体播放器
  16. 线控转向,包含设计说明书,carsim模型,MATLAB Simulink模型全套
  17. 《STL源码剖析》读书笔——(1)空间配置器
  18. 蚂蚁金服高级前端专家,我做前端这 10 多年来的感悟
  19. [转]mitmproxy套件使用攻略及定制化开发
  20. Swift 十六进制颜色字符串的自定义

热门文章

  1. 和计算机相关的英文名字女孩,简单好听寓意好的英文名字女孩
  2. 如何突破社会阶层,向上进阶?
  3. 程序人生|《阶层跃迁》读后感
  4. Windows下文本文件编码转换
  5. PLM与PDM的概念与区别
  6. Vue高德地图Loca 2.0飞线功能初体验
  7. 采购精英的行为准则(精典)
  8. 我的世界只支持java8_我的世界minecraft 1.8以上版本forge安装支持哪一种java?7还是8?...
  9. 计算机软件的四种人才
  10. Java毕设项目晨光文具店进销存系统设计与开发计算机(附源码+系统+数据库+LW)