Eureka 是什么|学习笔记

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 快速学习 Eureka 是什么

开发者学堂课程【微服务框架 Spring Cloud 快速入门Eureka是什么】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/614/detail/9343


Eureka是什么

 

内容介绍

一、Eureka的读音

二、Eureka的定义

三、Eureka的原理讲解

 

完成了最基础的微服务模块构建的底层程序后,现进行在此之上的springCloud(众多技术的集合体)学习。

现将常用技术依次加载进此前搭载好的基础框架中,观察此些技术如何逐一落地。

 

一、Eureka的读音

 image.png


二、Eureka的定义

Netflix:网飞公司

Netflix 在设计 Eureka 时遵守AP原则。

(1)严谨定义

Eureka 是 Netflix 的一个子模块核心模块之一。 Eureka基于REST, 用于定位服务,以实现云端中间层服务发现和故障转移。服务注册与发现对于微服务架构十分重要,服务发现与注册完成后,使用服务的标识符可访问服务,而不需要修改服务调用的配置文件。功能类似于 dubbo 的注册中心,比如 Zookeeper。

(2)简单定义

简单而言,Eureka 对于微服务架构十分重要,其主管服务发现与注册,使用服务的标识符:即某微服务的名称注册进入 Eureka,即可通过Eureka寻找得到微服务,而不再需要类似于 double 等再次改变配置文件。其功能类似于 dubbo 的注册中心,比如 Zookeeper。

(3)抽象实例

例如:尚硅谷入住宏福科技园。而科技园中张贴有本楼层的入住企业花名册,即尚硅谷的具体位置可在大厅中的入住企业索引花名册中进行查看:尚硅谷位于三楼、六楼。其中,“三楼、六楼”可抽象理解为“尚硅谷”拥有的两个微服务,此张花名册即Eureka。

 

三、Eureka的原理讲解

1、Eureka与Zookeeper的对比

(1)架构

Eureka用于实现服务注册和发现。

此采用C-S的设计架构、Eureka Server 作为服务注册功能的服务器,其为服务注册中心。进行抽象举例,可把 Eureka Server 看作宏福科技园的物业公司,尚硅谷看作一个微服务,若尚硅谷欲达到入住宏福科技园的目的,首先应向物业公司缴纳物业费并进行登记事宜。

而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server 并维持心跳连接。进行抽象举例,心跳连接即缴纳物业费。

这样系统的维护人员可通过 EurekaServer 来监控系统中各个微服务是否正常运行。SpringCloud 的部分其他模块(此如Zuul) 可以通过 Eureka Server 来发现系统中的其他微服务,并执行相关的逻辑。

下图为 Eureka 架构

image.png

由于 Eureka 为 C-S 架构设计,其拥有服务端与客户端。此时服务端即为 Eureka Server,主管服务的注册与发现,抽象理解为宏福科技园的物业公司。Server Provider 为尚硅谷本身,欲租赁宏福科技园的场地,则尚硅谷需要到达鸿福科技园的物业公司注册继而进行入住。服务的消费者即为学员。

当前架构中,需要进行服务的注册、服务的提供等。Eureka Serve于Eureka Consumer 进行查找后,需要进行访问。此类过程类似于 Dubbo。

步骤

第一步:注册 Eureka Server。

第二步:消费者正常访问。

image.png

Dubbo

Registry 为用户中心,即 Zookeeper。Provider 为制作的一个个Dubbo 子服务。Dubbo 主管服务的应用和拆分,Consumer 为消费调用。进而于 Zookeeper 之上寻找到发布的对应 Dubbo 服务并将其调用。与 Eureka 架构仅存在 Container 容器的不同。

以上两个架构具有九成的一致、相似,需注意两者的对比理解。

2、Eureka组件

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

(1)Eureka Server

提供服务注册服务

各个节点、即每个微服务器启动后,将会在EurekaServer中进行注册。进行抽象举例,即企业若欲入住四号楼,需要于物业公司之上登记注册、缴纳物业费后方可被允许入住。而每楼层的企业入住花名册上可对每个企业的入住信息进行查看。此时的企业入住花名册即为 Eureka Server。

而后 EurekaServer 中的服务注册表中将会存储所有可用服务节点的信息服务节点的信息可在界面中进行直观查看。

(2)EurekaClient

是一个Java客户端,用于简化 Eureka Server 的交互,客户端同时也具备一个内置的、使用轮询 (round-robin) 负载算法的负载均衡器。在应用启动后,将会向 Eureka Server 发送心跳(默认周期为30秒)。如果 Eureka Server 在多个心跳周期内没有接收到某个节点的心跳,Eureka Server 将会从服务注册表中将此服务节点移除(默认90秒)。

3、方向即大致思路

将 Eureka 加载进工程之中,当前消费者可访问80-8001,现将微服务提供者注册进 Eureka,再通过Eureka进行访问。

4、三大角色

Eureka Server 提供服务的注册和发现

Eureka Provider(8001)服务提供方将自身服务注册到 Eureka,从而使服务消费方能够找到。

Eureka Consumer 服务消费方从 Eureka 获取注册服务列表,从而能够进行消费服务。

5、工程情况的盘点

包含四部分:

(1)总父工程

(2)通用模块api

(3)服务提供者 Provider

(4)服务消费者Consumer

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
7月前
SpringCloud Eureka的相关配置
SpringCloud Eureka的相关配置
49 0
|
4月前
|
负载均衡 监控 Java
Eureka介绍与使用
Eureka介绍与使用
|
7月前
|
Java 微服务 Spring
Eureka详解
Eureka详解
68 0
|
存储 监控 Java
SpringCloud极简入门-服务注册与发现-Eureka
微服务的其中一个特点是服务之间需要进行网络通信,服务器之间发起调用时调用服务得知道被调用服务的通信地址,试问当微服务数量成百上千之多,程序员该如何管理众多的服务通信地址,对于随时新增加的微服务和下线的微服务,又应该如何去动态添加和删除这些微服务的通信地址呢?所以手工管理服务的通信地址是一件遥不可及的事情,我们需要借助一个强大的工具帮我们实现这一功能 - Eureka,同类型的组件还有 zookeeper,consul等
116 0
SpringCloud极简入门-服务注册与发现-Eureka
|
存储 负载均衡 监控
|
负载均衡 Java Nacos
Nacos和Eureka
Nacos和Eureka
120 0
|
缓存 负载均衡 NoSQL
Eureka应用
Eureka应用
142 0
Eureka应用
|
负载均衡 Java Nacos
01、SpringCloud之Eureka学习笔记(一)
01、SpringCloud之Eureka学习笔记(一)
01、SpringCloud之Eureka学习笔记(一)
|
缓存 JSON 监控
01、SpringCloud之Eureka学习笔记(二)
01、SpringCloud之Eureka学习笔记(二)
01、SpringCloud之Eureka学习笔记(二)
|
缓存 NoSQL Oracle
SpringCloud-02 Eureka学习笔记
SpringCloud-02 Eureka学习笔记
SpringCloud-02 Eureka学习笔记