SpringCloud之Eureka注册中心原理图解

Eureka是SpringCloud中的服务注册与发现组件,包括EurekaServer和EurekaClient。服务提供者向EurekaServer注册并定时发送心跳,EurekaServer存储所有服务信息。服务消费者从EurekaServer获取服务列表,实现服务间的远程调用。当服务下线时,EurekaServer会根据心跳超时移除服务。Eureka还负责集群间的数据同步。
摘要由CSDN通过智能技术生成
  • 先上原理图


Register(服务注册):把自己的IP和端口注册给Eureka。
Renew(服务续约):发送心跳包,每30秒发送一次。告诉Eureka自己还活着。
Cancel(服务下线):当provider关闭时会向Eureka发送消息,把自己从服务列表中删除。防止consumer调用到不存在的服务。
Get Registry(获取服务注册列表):获取其他服务列表。
Replicate(集群中数据同步):eureka集群中的数据复制与同步。
Make Remote Call(远程调用):完成服务的远程调用。

  • Eureka的工作原理

SpringCloud框架下的服务注册于发现框架Eureka包含两个组件,分别是Eureka Server于Eureka Client

Eureka Server:服务注册服务器,也称为服务注册中心。各个服务启动后,会在EurekaServer中注册,这样Eureka Server的服务注册表中将会存储所有可用服务节点的信息。服务节点的信息可以在界面中直观地看到。

Eureka Client:也称为服务(实例)。作为一个Java客户端,用户简化与Eureka Server的交互。EurekaClient内置一个使用轮询负载算法的负载均衡器。服务启动后,Eureka Client将会向Eureka Server发送心跳更新服务,(周期一般为30秒)如果Eureka Server在多个(一般为连续三个)心跳周期内没有接收到某个服务的心跳。则会从服务注册表中将这个服务节点移除。

在这里插入图片描述

接下来我们通过一张图描述Eureka Server与服务提供者、服务消费者之间的关系,具体如上图所示,服务提供者和服务消费者都属于Eureka Client,它们都会将自己的信息通过REST API 的形式提交给Eureka Server。服务消费者注册后,还会获取一份服务注册列表,该列表包含了所有向Eureka Server注册的服务信息。获取到服务注册信息后,服务消费者就会根据服务提供者的IP地址,通过HTTP远程调用服务提供者的服务。需要注意的是,服务提供者和服务消费者是可以相互转换的,因为一个服务既可能是服务消费者,同时也可能是服务提供者。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值