eureka自我保护模式详解(全网最全)

这篇具有很好参考价值的文章主要介绍了eureka自我保护模式详解(全网最全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 什么叫自我保护模式?


        当微服务客户端启动后,会把自身信息注册到Eureka注册中心,以供其他微服务进行调用。一般情况下,当某个服务不可用时(一段时间内没有检测到心跳或者连接超时等),那么Eureka注册中心就会将该服务从可用服务列表中剔除,但是在微服务架构中,因为服务数量众多,可能存在跨机房或者跨区域的情况,因此当某个服务心跳探测失败并不能完全说明其无法正常提供服务而将其剔除,并且服务一旦剔除后,再重新注册将会重新进行负载均衡等等一系列的操作,考虑到性能问题,eureka会将不可用的服务暂时断开,并期望能够在接下来一段时间内接收到心跳信号,而不是直接剔除,同时,新来的请求将不会分发给暂停服务的实例,这就是eureka的保护机制,它保护了因网络等问题造成的短暂的服务不可用的实例,避免频繁注册服务对整个系统造成影响。

2. 什么时候触发自我保护模式

比如你有10个user-service节点注册到eureka-server中,这个时候挂了两台。那么比例就是:(10-2)/10 = 80% 。这个时候就会引发自我保护机制。

eureka自我保护,spring,eureka,java,spring cloud

3.自我保护模式效果

一旦进入到保护模式,所有的eureka服务都不再被踢出来。

举例:比如你有10个user-service节点注册到eureka-server中,这个时候挂了两台。那么比例就是:(10-2)/10 = 80% 。这个时候就会引发自我保护机制。剩下的8台服务器如果有一台出现网络故障或者其他原因,注册中心超过90秒没有检查到这台故障服务的心跳,不会直接剔除,同时,新来的请求将不会分发给暂停服务的实例,这就是eureka的保护机制。如果你15分钟内一直没有修复,超过15分钟,eureka就启动剔除机制,把坏服务剔除掉,目的就是节约内存空间。

如果觉得85%这个值比较大,可以调低一点使用以下方式:

eureka.server.renewalPercentThreshold=0.49

4.关闭自我保护模式

  • 我们在单机测试的时候很容易满足心跳失败比例在 15 分钟之内低于 85%,这个时候就会触发 Eureka 的保护机制,所以单机状态下不建议开启。们可以使用eureka.server.enable-self-preservation=false来关闭保护机制,这样可以确保注册中心中不可用的实例被及时的剔除(不推荐)。
  • 默认情况下客户端每隔30秒(lease-renewal-interval-in-seconds)客户端会向注册中心发送一次心跳,证明自己还活着。如果超过90秒(lease-expiration-duration-in-seconds)没有收到心跳,EurekaServer就会认为该服务宕机。那么我们定义了eviction-interval-timer-in-ms: 60000,注册中心每60s检查失效服务进行剔除,这三个值在生产环境不要修改,默认即可。
  • 服务端关闭自我保护模式的方式
eureka:
  instance:
    #如果超过90秒没有发送心跳,EurekaServer就会认为该服务宕机,会从服务列表中移除,
    lease-expiration-duration-in-seconds: 90
    #每隔30秒服务会向注册中心发送一次心跳,证明自己还活着
    lease-renewal-interval-in-seconds: 30
  server:
    # 服务失效剔除时间间隔,默认60秒 eureka服务定时扫描失效的服务,把失效的服务剔除
    eviction-interval-timer-in-ms: 60000 
    #关闭自我保护模式(默认是打开的)
    enable-self-preservation: false

 5.案例

a.  注册中心注册了7台微服务

eureka自我保护,spring,eureka,java,spring cloud

 b. 关闭一个微服务,等待90秒钟后刷新页面。因为如果超过90秒没有发送心跳,EurekaServer就      会认为该服务宕机。判断是否开启自我保护模式。

    关闭一台发现,没有触发自我保护模式,因为6/7*100%>85%;

eureka自我保护,spring,eureka,java,spring cloud

 c. 在关闭一台微服务,等待90秒;发现开启了自我保护模式,因为:5/6*100%=83%<85%;心跳续约的比例小于85%

eureka自我保护,spring,eureka,java,spring cloud文章来源地址https://www.toymoban.com/news/detail-602654.html

到了这里,关于eureka自我保护模式详解(全网最全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 全网最全c++中的system详解

    这篇文章是二发,做了些微调,感兴趣的朋友可以看原文:C++中的system_一只32汪的博客-CSDN博客 1,简介         system()函数是在C++制作中十分常用,有用的一个函数。         其效果类似于系统中\\\"cmd\\\"控制台和\\\"bat\\\"文件。         通常会在C++字符游戏,和C++整蛊程序中使

    2024年02月05日
    浏览(40)
  • Python socket详解,全网最全教程

    前言 嗨喽,大家好呀~这里是爱看美女的茜茜呐 Socket编程 1.基本概念 服务器就是一系列硬件或软件,为一个或多个客户端(服务的用户)提供所需的“服务”。 它存在唯一目的就是等待客户端的请求, 并响应它们(提供服务),然后等待更多请求。 说白了就是一个提供服务

    2024年02月04日
    浏览(46)
  • c++详解递归算法-全网最全+例题讲解

    什么是递归? 递归的思想是什么? 什么时候该用递归? 使用递归需要注意哪些问题? 递归思想解决经典问题 递归和循环的区别是什么? 递归算法: 定义:直接或间接地出现对自身的调用 本质:递归即 递进 与 回归, 基本思想就是把规模大的问题转化为规模小的相似的子

    2024年02月07日
    浏览(38)
  • 2023最新首发,全网最全 Spring Boot 学习宝典(附思维导图)

    作者: bug菌 博客:CSDN、掘金、infoQ、51CTO等 简介:CSDN/阿里云/华为云/51CTO博客专家,博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金/InfoQ/51CTO等社区优质创作者,全网粉丝合计10w+,硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费领取简历模板/学习资料

    2024年02月11日
    浏览(50)
  • C语言+单片机-内存分布详解,全网最全,值得收藏保存

    目录 一、C语言内存分区 1. 代码区 2. 常量区 3. 全局(静态)区 4. 堆区(heap) 5. 栈区(stack) 二、STM32存储器分配 1. 随机存储器—RAM 2. 只读存储器—ROM 三、基于STM32代码验证 1. 详细代码如下 2. 运行结果如下 四、单片机中的内存分布 1.含义解释 2. 程序存储分布 3.程序占用Flash和SRA

    2024年02月09日
    浏览(38)
  • 全网最全JAVA面试八股文,终于整理完了

    又到一年金三银四面试跳槽季,你准备好了吗? 今天为大家整理了目前互联网出现率最高的大厂面试题,所谓八股文也就是指文章的八个部分,文体有固定格式:由破题、承题、起讲、入题、起股、中股、后股、束股八部分组成,题目一律出自四书五经中的原文。 而JAVA面试八

    2024年02月01日
    浏览(40)
  • 全网最全的 Java 技术栈内容梳理(持续更新中)

    大家好,我是栗筝i,从 2022 年 10 月份开始,我将持续梳理出全面的 Java 技术栈内容,一方面是对自己学习内容进行整合梳理,另一方面是希望对大家有所帮助,使我们一同进步。 ~ Ps:大家还可以加入我的社区:栗筝i的社区,在更新上我将尽量保证文章的高频、高质、高量

    2024年02月10日
    浏览(36)
  • 全网最全的 Java 面试题内容梳理(持续更新中)

    大家好,我是栗筝i,从 2022 年 10 月份开始,我便开始致力于对 Java 技术栈进行全面而细致的梳理。这一过程,不仅是对我个人学习历程的回顾和总结,更是希望能够为各位提供一份参考。因此得到了很多读者的正面反馈。 而在 2023 年 10 月份开始,我将推出 Java 面试题/知识

    2024年02月07日
    浏览(45)
  • flutter 中的动画详解 全网最全 动画一篇搞定 一万四千字

    学习 Flutter 中的动画和过渡是构建流畅用户界面的关键部分之一。这里我整理了一个主要的学习路径,可以帮助你逐步掌握 Flutter 中的动画和过渡技术,希望能够帮助到你 开始之前,了解一些基本的动画和过渡概念是很重要的。学习什么是动画、过渡,以及它们在用户体验中

    2024年01月18日
    浏览(42)
  • 【自我提升】Spring Data JPA之Specification动态查询详解

    写在前面:刷完Spring Data JPA的课后,发现Specification动态查询还挺有意思的,还应用到了规约设计模式,在此记录下学习过程和见解。 目录 一、应用场景 二、源码解析 三、规约模式 四、实际应用 1. 简介         有时我们在查询某个实体的时候,给定的条件是不固定的,

    2024年02月07日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包