资讯专栏INFORMATION COLUMN

Spring Cloud Eureka 自我保护机制

Meils / 1545人阅读

摘要:自我保护机制官方对于自我保护机制的定义自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使集群更加的健壮稳定的运行。注册中心关闭自我保护机制,修改检查失效服务的时间。

自我保护背景

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

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

自我保护机制

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

https://github.com/Netflix/eu...

自我保护模式正是一种针对网络异常波动的安全保护措施,使用自我保护模式能使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:
  server: 
    enable-self-preservation: false
    eviction-interval-timer-in-ms: 3000
2、 微服务修改减短服务心跳的时间。
# 默认90秒
lease-expiration-duration-in-seconds: 10
# 默认30秒
lease-renewal-interval-in-seconds: 3

以上配置建议在生产环境使用默认的时间配置。

推荐:Spring Boot & Cloud 最强技术教程

扫描关注我们的微信公众号,干货每天更新。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/71301.html

相关文章

  • Spring Cloud 微服务与 Service Mesh 的融合

    摘要:并不会在微服务框架中有其它的注册机制。微服务框架本身不会维护服务组件的启动顺序,这一问题可以由来解决。启动先后逻辑为被依赖的服务先启动,只有当前服务所依赖的服务全部正常启动后,才会开始启动流程。 概述 这篇文档,着重解决一个问题:Spring Cloud 融合于 Rainbond 原生 Service Mesh 的正确姿势是什么样子的。 Rainbond 原生支持 Service Me...

    fyber 评论0 收藏0
  • 【公益】开放一台Eureka注册中心给各位Spring Cloud爱好者

    摘要:该注册中心关闭了自我保护机制,所以当各位开发者的服务下线后,稍等片刻就会被剔除,所以大家不用担心服务的长时间停留在该服务注册中心上。 这是一篇博客福利! 相信很多关注Spring Cloud的爱好者们,不论是读我的系列文章和书籍还是看其他朋友们写的博客佳文,都不可避免的启动多个项目来体验Spring Cloud带来的整套微服务架构方案。其中,Eureka注册中心几乎是每个试验都必须要启...

    whidy 评论0 收藏0
  • spring-cloud-eureka服务治理

    摘要:服务续约在服务注册完成之后,服务提供者需要维护一个心跳来告知注册中心服务实例处于正常运行状态中,防止注册中心将正常的服务实例剔除出注册中心。 Spring Cloud Eureka 目录 前言 构建服务注册中心 服务注册与发现 Eureka的基础架构 Eureka的服务治理机制 Eureka的配置 代码地址 前言 服务治理  随着微服务应用的不断增加,静态配置会越来越难以维护,并且...

    Clect 评论0 收藏0
  • 2021 年最新基于 Spring Cloud 的微服务架构分析

    摘要:是一个相对比较新的微服务框架,年才推出的版本虽然时间最短但是相比等框架提供的全套的分布式系统解决方案。提供线程池不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务器雪崩的问题。通过互相注册的方式来进行消息同步和保证高可用。 Spring Cloud 是一个相对比较新的微服务框架,...

    cikenerd 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<