自我保护背景

首先对Eureka注册中心需要了解的是Eureka各个节点都是平等的,没有ZK中角色的概念, 即使N-1个节点挂掉也不会影响其他节点的正常运行。

默认情况下,如果Eureka Server在一定时间内(默认90秒)没有接收到某个微服务实例的心跳,Eureka Server将会移除该实例。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,而微服务本身是正常运行的,此时不应该移除这个微服务,所以引入了自我保护机制。

自我保护机制

官方对于自我保护机制的定义:

https://github.com/Netflix/eureka/wiki/Understanding-Eureka-Peer-to-Peer-Communication

自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使Eureka集群更加的健壮、稳定的运行。

自我保护机制的工作机制是如果在15分钟内超过85%的客户端节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,Eureka Server自动进入自我保护机制,此时会出现以下几种情况:

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

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

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

因此Eureka Server可以很好的应对因网络故障导致部分节点失联的情况,而不会像ZK那样如果有一半不可用的情况会导致整个集群不可用而变成瘫痪。

自我保护开关

Eureka自我保护机制,通过配置 eureka.server.enable-self-preservation来true打开/false禁用自我保护机制,默认打开状态,建议生产环境打开此配置。

1 eureka:2 server:3 # 测试时关闭自我保护机制,保证不可用服务及时踢出4 enable-self-preservation: false

服务器端配置:

1 # 心跳检测检测与续约时间2 # 测试时将值设置设置小些,保证服务关闭后注册中心能及时踢出服务3 eureka:4 instance:5 lease-renewal-interval-in-seconds: 1

6 lease-expiration-duration-in-seconds: 2

客户端配置:

以上配置说明

lease-renewal-interval-in-seconds 每间隔1s,向服务端发送一次心跳,证明自己依然”存活“

lease-expiration-duration-in-seconds  告诉服务端,如果我2s之内没有给你发心跳,就代表我“死”了,将我踢出掉。

eureka自我保护时间_Eureka自我保护机制相关推荐

  1. eureka自我保护时间_Eureka的自我保护机制

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

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

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

  3. eureka自我保护时间_spring cloud中微服务之间的调用以及eureka的自我保护机制详解...

    上篇讲了spring cloud注册中心及客户端的注册,所以这篇主要讲一下服务和服务之间是怎样调用的 基于上一篇的搭建我又自己搭建了一个客户端微服务: 所以现在有两个微服务,我们所实现的就是微服务1和 ...

  4. eureka自我保护时间_阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默...

    文章首发:阿里面试官问我:到底知不知道什么是Eureka,这次,我没沉默 什么是服务注册? 首先我们来了解下,服务注册.服务发现和服务注册中心的之间的关系. 举个形象的例子,三者之间的关系就好像是供货 ...

  5. eureka配置_F版本SpringCloud 5—Eureka集群和自我保护机制

    源码地址:https://gitee.com/bingqilinpeishenme/Java-Tutorials 前言 上篇文章中,通过代码搭建了Eureka注册中心和客户端,是Eureka的简单应用 ...

  6. eureka同步原理_eureka原理剖析

    Eureka是Netflix开源的一款提供服务注册和发现的产品,github地址为 https://github.com/Netflix/eureka.注册中心是分布式开发的核心组件之一,而eurek ...

  7. 多维时序 | MATLAB实现TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)多输入单输出

    多维时序 | MATLAB实现TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)多输入单输出 目录 多维时序 | MATLAB实现TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)多输 ...

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

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

  9. Eureka基本使用以及自我保护机制

    一 .Eureka基本使用 常用的注册中心解决方案 常用注册中心 推送方式 是否支持持久化存储 CAP特性 Eureka Pull 缓存在内存中,不支持 AP Consul long polling ...

最新文章

  1. Js面试题(一)--js实现数组去重怎么实现?
  2. MySQL主从(MySQL proxy Lua读写分离设置,一主多从同步配置,分库分表方案)
  3. 利用QT实现X轴为时间动态显示曲线
  4. java中 hashmap中小数,java基础知识--HashMap中对 h(length-1)的理解
  5. 一个按键控制数码管的开和关_三菱PLC数码管显示及按键控制实验
  6. 架构设计从这5点考虑,能帮后期运维很大忙!
  7. vnc服务器和客户端怎么配置文件,VNC服务器端与客户端配置
  8. Silverlight学习笔记(三):创建第一个Silverlight应用程序
  9. php如何在类的外部修改成员属性,php中如何在外部修改类的私有或受保护属性值...
  10. 一个学者科研的感受,推荐一下(小木虫)
  11. 深度linux专业版,用Deepin 15.5 SP2专业版的不要换源更新,否则会成为未授权版本...
  12. swift 笔记 (十四) —— 构造过程
  13. linux7解绑bond命令,linux多网卡的7种bond模式原理配置
  14. git --amend 使用和撤销
  15. 只需要几行代码就可以轻松实现OCR图片转文字
  16. php smarty安装,Smarty安装
  17. hadoop-hive安装
  18. 产品经理之toB项目各阶段工作内容详解
  19. 南加大计算机游戏专业,南加州大学游戏设计项目有哪些课程?
  20. “鲲鹏”七夕坐“高铁”,这难道是个灯谜?

热门文章

  1. 你不知道的JS之作用域和闭包(二)词法作用域
  2. P2512 [HAOI2008]糖果传递
  3. 一站式WPF--依赖属性(DependencyProperty)
  4. POJ3264Balanced Lineup(最基础的线段树)
  5. .NET 对接JAVA 使用Modulus,Exponent RSA 加密
  6. spring3.0 aop 获取 ibatis 执行的语句_Mybatis 源码分析:执行器
  7. 在保护继承中基类的共有成员_C++学习刷题13--继承的实现、继承的方式
  8. c语言实验报告7,C语言实验报告7.doc
  9. python一个函数调用另一个函数的返回值_python-调用另一个函数后立即从函数返回...
  10. docker 镜像修改的配置文件自动还原_所以到底该如何修改 docker 容器的端口映射!!!...