Eureka详解

服务提供者

服务注册

1“服务提供者”发送REST请求将自己注册到Eureka Server上。

2Eureka Server接收请求后,用双层Map结构存储服务:第一层Key是服务名,第二层Key是实例名。

3eureka.client.register-with-eureka控制自己是否注册到服务上。

服务同步

1两个服务提供者注册到两个不同服务注册中心

2两个服务注册中心互相注册为服务

3服务提供者发送注册请求到一个服务注册中心的时候,该服务注册中心会转发该请求到集群中相连的其中注册中心,实现注册中心的服务U同步。

服务续约

eureka.instance.lease-renewal-interval-in-seconds=30  定义服务续约任务(心跳)的调用间隔,单位:秒

eureka.instance.lease-expiration-duration-in-seconds=90  定义服务失效的时间,单位:秒

服务消费者

获取服务

1服务消费者发送Rest请求给服务注册中心,获取服务清单。

2EurekaServer维护一份只读的服务清单返回给客户端,30秒更新一次。

服务调用

1客户端轮询的方式调用服务清单上的服务。

2Eureka有Region和Zone的概念。一个Region包含多个Zone。每个服务客户端注册到一个Zone中。服务调用的时候,优先访问同一Zone的服务提供方,访问不到就访问其他Zone。

服务下线

1服务关闭的时候,触发一个服务下线的REST请求给Eureka Server。

2服务端接收到该请求后,会将服务下线(DOWN),并将下线事件传播出去。

 

服务注册中心

服务剔除

1服务实例意外不能正常工作(内存溢出、网络故障)

2Eureka Server在启动的时候创建一个定时任务,60秒将清单中超过90秒没有续约的服务剔除。

自我保护

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.

1Eureka Server统计15分钟内心跳失败的比例是否低于85%。

2出现会当前实例信息保护起来,让这些实例不会过期。

3eureka.server.enable-self-preservation=false关闭注册中心的保护机制,Eureka 会统计15分钟之内心跳失败的比例低于85%将会触发保护机制,不剔除服务提供者。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值