SpringCloud - Eureka服务注册与发现

Posted Lam

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud - Eureka服务注册与发现相关的知识,希望对你有一定的参考价值。

一、什么是Eureka?

Eureka又称服务中心,管理各种服务功能包括服务的注册、发现、熔断、负载、降级等。

● Netflix在设计Eureka时,遵循的就是AP原则

● Eureka是Netflix的一个子模块,也是核心模块之一。Eureka是一个基于Rest的服务,用于定位服务,以实现云端中间层服务发现和故障转移,服务注册与发的先对于微服务来说非常重要,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了,功能类似与Dubbo的注册中心,比如Zookeeper

二、Eureka原理

1)Eureka的基础结构

● Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现

● Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心

● 而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server,并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。Spring Cloud 的一些其他模块(比如Zuul)就可以通过 Eureka Server 来发现系统中的其他微服务,并执行相关的逻辑

● 和Dubbo架构对比:

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

① Eureka Server 提供服务注册服务,各个节点启动后,会在EurekaServer中进行注册,这样Eureka Server中的服务注册表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。

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

2)三大角色

● Eureka Server:提供服务的注册与发现

● Service Provider:将自身服务注册到Eureka中,从而使消费方能够获取到

● Service Consumer:服务消费方从Eureka中获取注册服务列表,从而找到消费服务

三、创建 Eureka 服务端

接着上一篇 REST 学习

以上是关于SpringCloud - Eureka服务注册与发现的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud---Eureka服务注册与发现

SpringCloud Eureka服务注册与发现

白话SpringCloud | 第二章:服务注册与发现(Eureka)-上

springcloud-Eureka服务注册发现01

SpringCloud----Eureka服务注册与发现

SpringCloud-Eureka服务注册与发现二