Eureka知识点

本文详细介绍了Eureka服务注册与发现的工作流程,包括EurekaClient如何向EurekaServer发送心跳以保持服务租约,以及当网络分区发生时Eureka的自我保护机制如何防止服务实例误剔除,确保系统的高可用性。自我保护机制在服务实例过期数量达到一定阈值时启动,阻止注册表信息进一步清理,直到网络通信恢复。
摘要由CSDN通过智能技术生成

1. Eureka Client 在 Eureka Server 注册,然后Eureka Client 每30秒向 Eureka Server 发送一次心跳来更新一次租约。如果 Eureka Client 无法续订租约几次,则会在大约90秒内 Eureka Server 将其从服务器注册表中删除。注册信息和续订将复制到群集中的所有 Eureka Server 节点。来自任何区域的客户端都可以查找注册表信息(每30秒发生一次)根据这些注册表信息,Application Client 可以远程调用 Applicaton Service 来消费服务。

2. Eureka的自我保护机制: 自我保护机制主要在Eureka client和Eureka Server之间存在网络分区的情况下发挥保护作用,在服务端和客户端都有对应实现。 假设在某种特定的情况下(如网络故障),Eureka Client和Eureka Server无法进行通信,此时Eureka Client无法向Eureka Server发起注册和续约请求,Eureka Server中就可能因注册表中的服务实例租约出现大量过期而面临被剔除的危险,然而此时的Eureka Client可能是处于健康状态的(可接受服务访问),如果直接将注册表中大量过期的服务实例租约剔除显然是不合理的。

  针对这种情况,Eureka设计了“自我保护机制”。在Eureka Server处,如果出现大量的服务实例过期被剔除的现象,那么该Server节点将进入自我保护模式,保护注册表中的信息不再被剔除,在通信稳定后再退出该模式;在Eureka Client处,如果向Eureka Server注册失败,将快速超时并尝试与其他的Eureka Server惊醒通信。“自我保护机制”的设计大大提高了Eureka的可用性。

   自我保护机制的触发:

   1. 默认情况下,注册的应用实例每半分钟续租一次,那么一分钟心跳两次,因此*2.

   服务实力数:10个,期望每分钟续约数:10*2=20,期望阈值:20*0.85=17,自我保护少于17时触发。

3. eureka源码总结:

  1. client

       拉取server注册到本地

       注册服务

      初始化3个定时任务:心跳续约,定时拉取注册表,按需注册

     发送下线

 2. server

    接受服务注册

    接受服务心跳

    服务剔除

    服务下线

    集群同步(1. 启动从peer拉取信息, 2. 将注册到自己的服务同步到peer)

      

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值