spring-关于eureka的一点小小总结

springcloud的重要套件–eureka

Eureka是一个基于rest的服务,包括server和client,server就是注册中心,而client按照角色可以分为服务提供者和消费者。
所有的client都将到server注册服务,而配置订阅服务的client将从server拉取服务信息。

在client启动后,将会向server发送心跳,默认周期为30秒,如果server在90秒(默认)未接受到client的心跳,将会将该client的节点删除。

client支持缓存,即拉取服务列表后进行本地缓存,当eureka server出现不可用的情况时,client的消费端依然能够根据服务列表进行调用服务。

server支持集群部署,server之间通过异步复制的方式完成数据的同步,首尾相连形成一个闭环即可。异步复制达到数据的同步,这就意味着在某一特定的时间,server的数据可能不一致的,所以该方案实现了高可用性,但是不能保证强一致性。

eureka.server.enable-self-preservation,默认为true,即server的自我保护机制是处于开启状态的。
微服务涉及到服务器之间的远程网络调用,所以需要考虑到网络的不可靠性,网络的波动可能导致未能发现服务发送的心跳包,如果固化采用90秒无心跳包就认为服务下线是非常不合理的,所以server的自我保护机制就针对短时间出现大量服务无心跳包的发送,从而进入自我保护的模式,不删除任意的服务节点。当网络趋于稳定,能够正常接收心跳包的时候,将自动解除自我保护模式。

综上所得:
1,所有的eureka客户端都要采用rest风格
2,所有的eureka客户端都要到eureka注册中心进行注册,而配置eureka.client.registry-fetch-interval-seconds= 30 或者url.eureka的客户端将从注册中心订阅服务。
3,所有的客户端都将每30秒发送心跳到注册中心进行交互,而消费者身份的eureka客户端将缓存消费者的信息。默认是轮循调用。
4,注册中心默认90秒移除服务节点,即扫描无效节点时间为60秒。
5,注册中心的集群必须形成一个闭环,比如两个eureka注册中心,应该进行相互注册,通过异步复制的方式实现数据的一致。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值