学习笔记——初识Eureka

〇、前言

本文章主要来自于江南一点雨的教学视频笔记,同时会添加部分自己的理解。

一、注册中心

Eureka是spring cloud中的注册中心,那什么是注册中心,又为什么需要注册中心。
我们都知道,随着项目的体量越来越大,最好将整个应用拆分为不同的模块进行分工开发。同时各个模块根据需求提供相应的接口给其他模块调用。如果使用传统的调用方式,那么将会造成模块间的强耦合。例如A模块需要调用B,那么势必要在A中填写B模块接口的调用地址。如果B模块的部署方式或位置发生改变,那么A中的地址也要进行相应的改变。
注册中心就是为了解决各个服务之间的耦合问题。

二、Eureka

Eureka是Netflix公司提供的一款服务注册中心,Eureka基于REST来实现服务的注册与发现,曾经,Eureka是Spring Cloud 中最重要的核心组件之一。Spring Cloud 中封装了Eureka,在Eureka的基础上,优化了一些配置,然后提供了可视化的页面,可以方便的查看服务的注册情况以及服务注册中心集群的运行情况。
Eureka由两部分︰服务端和客户端,服务端就是注册中心,用来接收其他服务的注册,客户端则是一个Java客户端,用来注册,并可以实现负载均衡等功能。
在这里插入图片描述
从图中,我们可以看出,Eureka中,有三个角色:

  • Eureka Server:注册中心
  • Eureka Provider:服务提供者
  • Eureka Consumer:服务消费者

三、Eureka工作细节

Eureka本身可以分为两大部分,Eureka Server和Eureka Client

3.1 Eureka Server

Eureka Server主要对外提供了三个功能:

  1. 服务注册,所有的服务都注册到Eureka Server 上面来
  2. 提供注册表,注册表就是所有注册上来服务的一个列表,Eureka Client在调用服务时,需要获取这个注册表,一般来说,这个注册表会缓存下来,如果缓存失效,则直接获取最新的注册表
  3. 同步状态,Eureka Client通过注册、心跳等机制,和Eureka Server同步当前客户端的状态
3.2 Eureka Client

Eureka Client主要是用来简化每一个服务和Eureka Server之间的交互。Eureka Client 会自动拉取、更新以及缓存Eureka Server中的信息,这样,即使Eureka Server所有节点都宕机,Eureka Client依然能够获取到想要调用服务的地址(但是地址可能不准确)。

3.2.1 服务注册

服务提供者将自己注册到服务注册中心(Eureka Server),需要注意,所谓的服务提供者,只是一个业务上上的划分,本质上他就是一个Eureka Client。当Eureka Client向Eureka Server注册时,他需要提供自身的一些元数据信息,例如IP地址、端口、名称、运行状态等等。

3.2.2 服务续约

Eureka Client注册到Eureka Server上之后,事情没有结束,刚刚开始而已。注册成功后,默认情况下,Eureka CLient每隔30秒就要向Eureka Server 发送一条心跳消息,来告诉Eureka Server我还在运行。如果Eureka Server连续90秒都有没有收到Eureka Client 的续约消息(连续三次没发送),它会认为Eureka Client已经掉线了,会将掉线的Eureka Client 从当前的服务注册列表中剔除。

  • eureka.instance.lease-renewal-interval-in-seconds表示服务的续约时间,默认是30秒
  • eureka.instance.lease-expiration-duration-in-seconds服务失效时间,默认是90秒
3.2.3 服务下线

当Eureka Client下线时,它会主动发送一条消息,告诉Eureka Server

3.2.4 获取注册表信息

Eureka Client 从 Eureka Server上获取服务的注册信息,并将其缓存在本地。本地客户端,在需要调用远程服务时,会从该信息中查找远程服务所对应的IP地址、端口等信息。Eureka Client上缓存的服务注册信息会定期更新(30秒),如果Eureka Server返回的注册表信息与本地缓存的注册表信息不同的话,Eureka Client 会自动处理。
这里,也涉及到两个属性,一个是是否允许获取注册表信息:

eureka.client.fetch-registry=true

Eureka Client上缓存的服务注册信息,定期更新的时间间隔,默认30秒:

eureka.client.registry-fetch-interval-seconds=30
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断路器保护灵敏度校验整改及剩余电流监测试点应用站用交流系统断

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值