springcloud

注册中心


Eureka

注册中心:专门负责注册于发现

Eureka Client :负责将服务的信息注册到Eureka中

Eureka Server : 注册中心,里面有一个注册表,保存各个服务所在的机器和端口

各个服务在默认的情况下,没间隔30s就会发送一个请求到Eureka server,拉取最近有变化的服务信息。

Eureka 还有一个心跳机制或者说是服务续约,每隔30s就会发送一次心跳到Eureka server,如果长时间没有发送的话那么就可以认定这个服务挂掉了。

Eureka是如何注册到注册中心的

Eureka在启动之后就会创建定时任务,定时任务定时向服务端发送心跳,服务端会对发送的消息进行相应,如果相应为404的时候,说明服务器中没有这个服务,客户端会向服务端发送注册请求。

服务端是如何保存注册信息的

注册表的核心是一个叫做registry的CocurrentHashMap;注册表是基于纯内存的,在内存中维护的一个数据结构

客户端是如何拉取服务端已经保存的服务信息的

客户端拉取服务端服务信息是通过一个定时任务定时拉取的,每次拉取后刷新本地已保存的信息,需要使用时直接从本地直接获取。

Eureka集群

在高可用的状态下,每一个服务注册中心都是等级的,都会相互注册,注册中心会做判断:是注册中心的注册信息还是说是客户端的注册信息,如果是客户端的注册信息的话就会同步到其他的Eureka中。

 

微服务注册中心如何承载大型系统的千万级访问?

Eureka 挂掉后消费者和注册者之间的关系

1、Eureka 突然宕机之后各个消费者已经存有相互调用的服务的IP和端口,相互之间的访问没有什么问题

2、重启之后消费者和提供者都保存映射信息,所以没有什么影响


Eureka缓存


Eureka服务剔除机制

eureka会将过期的服务进行剔除

1:服务初始化集群同步信息,重试5次,每次间隔30s
2:开启定时器每过60s清理过期的微服务,这里不会清除全部过期的微服务,至多清理15%的微服务,如果大批微服务同一时刻全部宕机,可能触发了自我保护机制则不会清理
3:最后一分钟的心跳数 < 阈值 触发自我保护机制

 

Eureka自我保护

 

Eureka 和 zookeeper区别

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值