SpringCloud | 03.Eureka概述

参考视频

day1-15-注册中心:eureka概述

1.Eureka概述

​ Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。

​ Eureka包含两个组件:Eureka Server和Eureka Client。

简言之,Eureka是能实现注册中心功能的一套编程规则。

  • 使用Eureka Server(本身是一个服务)作为注册中心;
  • 其余所有服务(调用者、发现者)都必须内置Eureka Client以实现对注册中心进行通信。

2.Eureka工作流程

SpringCloud | 02.注册中心概述

服务调用者借助注册中心访问服务提供者时,整体的工作流程如下:

  • [启动注册中心] 注册中心(本身是一个组件,也就是一个项目)启动;
  • [注册服务] 服务提供者A启动,将服务的各类信息登记到注册中心。此时服务A已被发现,且可被调用;
  • [健康检查] 服务提供者会定期向注册中心发送"心跳“。若某个服务已经很长一段时间都未发送”心跳"注册中心就会认为该服务已宕机,服务将被注销;
  • [调用服务] 服务调用者从注册中心获取所有的服务,并从中找到指定的服务地址,完成对服务提供者的访问;
img

Eureka完全实现了注册中心的各个工作步骤。

image-20220613144006265

2.1.服务注册

image-20220613144157709

  • 服务提供者启动时,通过Eureka Client将自己的服务信息(服务名、网络地址等)注册到Eureka Server
  • Eureka Server将注册信息保存在内存当中;
  • 服务提供者通过Eureka Client每隔30s向Eureka Server发送心跳。而Eureka Server则检测服务的健康状态,若某服务不再心跳,就从内存中将该服务注销。

2.2.服务发现

image-20220613144654831

  • 服务调用者通过Eureka ClientEureka Server的内存中拉取注册信息,并存储在自己的内存中;
  • 首次从Eureka Server拉取信息时,会拉取其所有的注册信息;
  • 每隔30s,服务调用者会再次从Eureka Server拉取增量信息(服务的注册、注销等)。

由于间隔的存在,有可能会出现:增量注册信息尚未及时被更新到调用者的内存中,提供者便已宕机。此时若发起调用便会失败。

2.3.服务调用

image-20220613145225170

​ 先前,服务调用者借助Eureka ClientEureka Server中拉取了注册信息,并存储在了内存中。此后服务调用者便可以根据内存中的注册信息,对服务提供者发起调用。

​ 上面提到,调用者拉取注册信息存在30s的间隔,这导致注册信息的更新并非是实时的,就可能会调用到宕机的服务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值