JAVA-微服务-SpringCloud-1-Eureka简述

一、Spring Cloud Eureka 简述

Eureka 是 Netflix开发的,一个基于REST服务的,服务注册和发现的组件。

Eureka 包括 Eureka Server 和 Eureka Client,Eureka server 即注册中心,Eureka
Client启动会向 Eureka Server 注册,这样其他的Eureka Client访问Eureka Server
即可拿到注册了的Eureka Client 的信息。

在这里插入图片描述

图示各部分说明:

  • Eureka Server :Eureka 的服务端,多个Eureka Server 可以构成集群,并且各个节点是完全对等的。
  • Eureka Client :Eureka 的客户端,业务服务依赖它实现服务注册和服务发现功能。
  • Application Service : 服务提供者,依赖Eureka Client 实现服务的注册功能
  • Application Client :服务消费者,依赖Eureka Client 实现服务的发现功能。
  • Register:Eureka Client启动时会向Eureka Server发送Register请求来注册自己。
  • Renew:续约请求,Eureka Client会周期性的向Eureka Server发送心跳来续约,默认30s。
  • Cancel:Eureka Client关闭时会发送Cancel下线请求。
  • Get:Eureka Client会周期性的发送Get请求,从Eureka Server中获取注册表信息,默认为30S。
  • Make Remote Call:服务消费者通过 Make Remote Call来访问服务提供者。
  • Replicate:各个Eureka Server之间通过Replicate实现数据同步。当Eureka Client有请求(Heartbeat、Register、Cancel、StatusUpdate、DeleteStatusOverride)到某一个Eureka Server节点,该节点完成自身对应的操作后,会通过Replicate将本次请求同步到其他节点上。

相关定义:

  • 同步:多个Eureka Server之间通过复制的方式完成服务注册表的同步,形成Eureka的高可用。
  • 识别:Eureka Client 会缓存Eureka Server中的信息。即使所有Eureka Server节点都宕掉,服务消费者还可以从缓存信息中得到服务提供者的信息。
  • 续约:微服务会周期性地向Eureka Server发送Renew(续约消息)来完成续约(默认30S)
  • 续期:Eureka Server 会定期执行一次时效服务检测功能(默认60S),它会检查超过一定时间(默认90S)没有Renew(续约)的微服务,发现会注销该微服务节点。

Spring Cloud已经把Eureka集成在其子项目Spring Cloud Netflix 里面。

二、Eureka 的 自我保护机制

Eureka Client 默认每30S会向Eureka Server 发送一次心跳进行续约。默认情况下,Eureka Server超过90S没有收到Eureka Client的心跳,则会注销该Eureka Client。自我保护机制正是一种针对网络异常波动的安全保护措施,Eureka Server在运行期间回去统计续约数量低于85%,Eureka Server 则会进入自我保护模式,停止实例过期将当前的实例注册信息保护起来,同时发生警告。

在这里插入图片描述

进入自我保护模式后:

  • Eureka Server 不再从注册列表中删除因为长时间沒收到心跳而应该过期的服务。
  • Eureka Server 仍然可以接受新的注册和查询请求,但是不会同步到其他节点上,保证当前节点依然可用。
  • 当网络稳定之后,当前Eureka Server新的注册信息会同步到其他节点上。

自我保护机制通过配置 eureka.server.enable-self-preservation 来开启/关闭,默认开启。

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.

紧急!尤里卡可能是错误地声称实例已经启动,而实际上它们还没有启动。续费低于阈值,因此为了安全起见,实例不会过期。(即进入自我保护机制)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值