springcloud入门一(Eureka注册中心 中篇)

Eureka的一下概念

  • Register-服务注册

服务提供者在启动的时候会通过发送REST请求将自己注册到Eureka Server上,同时还携带了自身服务的一些元数据信息。Eureka Server在接收到这个REST请求之后,将元数据信息存储在一个双层结构的Map集合中,第一层的key是服务名,第二层的key是具体服务的实例名,

  • Renew-服务续约

在注册完服务之后,服务提供者会维护一个心跳来不停的告诉Eureka Server:“我还在运行”,以防止Eureka Server将该服务实例从服务列表中剔除,这个动作称之为服务续约,和服务续约相关的属性有两个,如下:

//配置用来定义服务失效时间,默认为90秒
eureka.instance.lease-expiration-duration-in-seconds=90  
//用来定义服务续约的间隔时间,默认为30秒。
eureka.instance.lease-renewal-interval-in-seconds=30
  • 获取服务注册列表信息

Eureka Client 从Eureka Server 获取服务注册表信息,并将其缓存到本地。
默认情况下 Client使用Server来获取服务注册列表信息

  • 服务下线

服务提供者在运行的过程中可能会发生关闭或者重启,当服务进行 正常 关闭时,它会触发一个服务下线的REST请求给Eureka Server,告诉服务注册中心我要下线了,服务注册中心收到请求之后,将该服务状态置为DOWN,表示服务已下线,并将该事件传播出去,这样就可以避免服务消费者调用了一个已经下线的服务提供者了。

DiscoveryManager .getinstance() .shutdownComponent();
  • 服务剔除

上面我们说到了服务下线问题,正常的服务下线发生流程有一个前提那就是服务 正常 关闭,但是在实际运行中服务有可能没有正常关闭,比如系统故障、网络故障等原因导致服务提供者非正常下线,那么这个时候对于已经下线的服务Eureka采用了定时清除:Eureka Server在启动的时候会创建一个定时任务,每隔60秒就去将当前服务提供者列表中超过90秒还没续约的服务剔除出去,通过这种方式来避免服务消费者调用了一个无效的服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值