《 Eureka 基本理论概述 》
前言
本篇文章主要对 Spring Cloud Eureka 进行了一个基本的介绍,包括什么是 Eureka ?Eureka 基本架构分析?Eureka 的两个总要组件?以及使用 Eureka 的三大解决?
Eureka 基本理论概述
1、关于 Eureka
Eureka 是 Netflix 的一个子模块,也是核心模块之一。Eureka 是一个基于 REST(Representational State Transfer) 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
服务注册与发现对于微服务架构来说是非常重要的,有了服务发现与注册,只需要使用服务的标识符,就可以访问到服务,而不需要修改服务调用的配置文件了。功能类似于 Dubbo 的注册中心 -> Zookeeper。
eureka 源码地址:源码地址连接
2、Eureka 架构分析
Spring Cloud 封装了 Netflix 公司开发的 Eureka 模块来实现服务注册和发现。Eureka 采用了 C-S 的设计架构。Eureka Server 作为服务注册功能的服务器,它是服务注册中心。
而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server 并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。包括 Spring Cloud 的一些其他服务模块(比如Zuul)就可以通过 Eureka Server 来发现系统中的其他微服务,并执行相关的逻辑。
Eureka 基本架构图:
再看看Dubbo架构图:
关于更多 Dubbo 的内容,请看源码:源码地址
《 Eureka 与 zookeeper 的区别、原理及各自优缺点 》
3、Eureka 包含的两个重要组件:Eureka Server 端和 Eureka Client 端
Eureka Server 端:
用于实现服务的注册,将各个节点启动后,会在 Eureka Server 中进行注册,这样 Eureka Server 中的服务注册列表中将会存储所有可用服务节点的信息,服务节点的信息可以在界面中直观的看到。
Eureka Client 端:
是一个 Java 客户端,主要用于简化 Eureka Server 的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。在应用启动后,将会向 Eureka Server 发送心跳(默认周期为30秒,可配置的)。
如果 Eureka Server 在多个心跳周期内没有接收到某个节点的心跳,Eureka Server 将会从服务注册表中把这个服务节点移除(默认90秒,可配置的)。
4、 Eureka 的三大角色:
1、Eureka Server :提供服务注册和发现,在主程序中使用注解 -> @EnableEurekaServer // 表示 Eureka Server 服务器端启动类,并接受其它微服务注册进来
2、Provider Service :服务提供方将自身服务注册到 Eureka,从而使服务消费方能够调用,在主程序中使用注解 -> @EnableEurekaClient //本服务启动后会自动注册进 eureka 服务中
3、Consumer Service :服务消费方从 Eureka 获取注册服务的列表,从而能够调用服务提供者,实现消费的动作。
参考资料:
好了,关于 Eureka 基本理论概述 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。
作 者: | 华 仔 |
联系作者: | [email protected] |
来 源: | CSDN (Chinese Software Developer Network) |
原 文: | https://blog.csdn.net/Hello_World_QWP/article/details/85246850 |
版权声明: | 本文为博主原创文章,请在转载时务必注明博文出处! |