通过前三篇文章学习,我们搭建好了两个微服务工程。即:order80和payment8001这两个服务。有了这两个基础的框架之后,我们将要开始往里面添加东西了。还记得分布式架构的几个维度吗?我们要通过一个一个维度来讲解每个知识点。如下图:
任何一个分布式或者是微服务都会需要一个服务注册中心。用来服务的注册与发现。所以,我们就来先从服务注册中心这个维度来开讲。先来讲讲今年之前比较流行的一个技术:Eureka.
本文主要内容:
1:服务治理的理解
2:服务注册与发现的理解
3:Eureka两个组件
4:总结
本文是由凯哥(凯哥Java:kagejava)发布的《spring cloud系列教程》教程的总第四篇:《spring cloud系列教程第四篇-Eureka基础知识》。
本文是几个维度中的第一个维度:注册与发现维度配置中心管理之Eureka相关教程第一篇。
什么是服务治理?
在传统的RPC远程调用框架中,管理每个服务与服务之间依赖关系比较复杂,管理比较复杂,在这种情况下,我们就需要使用到服务治理了。管理服务与服务之间的依赖关系,可以实现服务调用、负载均衡、容错等,实现服务发现与注册的技术。
Spring cloud 封装了Netflix公司开发的Eureka模块来实现服务治理。
什么是服务注册与发现?
Eureka采用了CS的设计架构,Eureka Server作为服务注册功能的服务器,它是服务注册中心。而系统中的其他微服务,使用Eureka的客户端连接到Eureka Server并维持心跳连接。这样系统的维护人员就可以通过Eureka Server来监控系统中各个服务是否正常运行。
在服务注册与发现中,有一个注册中心。当服务器启动的时候,会把当前自己服务器信息(比如:服务地址、通讯地址等)以别名的方式注册到注册中心上。另一方(消费者服务提供者),以该别名的方式去注册中心上获取到实际的服务通讯地址,然后再实现本地RPC调用RPC。远程调用框架核心思想:在与注册中心,因为使用注册中心管理每个与服务之间的一个依赖关系(服务治理概念)。在任何RPC远程框架中,都会有一个注册中心(存放服务地址相关的信息:接口地址)。
下图是Eureka系统架构与dubbo系统架构的对比:
简单理解provider、consumer和Eureka 注册中心的关系。
比如,现在你在某个平台上正在看凯哥发布的这篇文章。其中自媒体平台就是一个注册中心,你和凯哥就是一个消费者,一个生产者。
凯哥需要在平台上注册一个账号,进行发布文章。充当生产者的角色;
你需要访问(或者是注册)平台,进行文章浏览。其实充当的就是消费者了。
这样来说,关系是不是就很好理解了。
Eureka的两个组件
Eureka Server提供服务的注册服务.
各个微服务节点通过配置启动后,会在EurekaServer中进行注册,这样EurekaServer中的服务注册表中将会存储所服务节点的信息,服务节点的信息可以在接口中直观的看到。
Eureka Client通过注册中心进行访问
是一个Java客户端,用与简化Eureka Server的交互,客户端同时也具备一个内置的,使用轮询(round-robin)的负载均衡器。在应用启动后,将会向Eureka Server发送心跳(默认周期为30s)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除掉(默认90s,也就是3个心跳周期).
总结
本文主要让大家记住Eureka的两个组件。分别是seriver和client.客户端默认每30秒向服务发送一次心跳请求,用与告诉服务端,我还是可用的。如果服务端默认3个心跳周期,也就是在90秒没有收到某个客户端发送的心跳信息后,服务端将会从服务注册表把对应的服务节点移除掉。因为服务端会认为这个客户端不可用了。
下篇预告:在下一篇文章中,我们来讲讲单机办的Eureka构建步骤
相关推荐
### Spring Cloud 配置、教程、源代码项目详解 #### 一、项目概述 本项目旨在通过实际案例向读者展示如何使用Spring Cloud构建一个简单的微服务项目。该项目涵盖了多个核心功能,包括服务注册与发现(Service ...
2. **Spring Cloud Netflix**:包含Eureka(服务发现)、Zuul(API网关)、Hystrix(断路器)等组件,提供微服务架构中的关键功能。 3. **Spring Cloud Bus**:用于广播配置更改或执行轻量级跨服务操作。 4. **...
通过这个课程,你将不仅掌握Spring Boot和Spring Cloud的基础知识,还将了解到如何将它们整合起来,构建出强大的微服务系统。这将为你的Java后端开发事业打下坚实的基础,助你在云计算时代游刃有余。
"于洋spring"是传智播客推出的一系列关于Spring框架的教程,旨在帮助初学者和进阶者深入理解并熟练掌握Spring的核心概念和技术。 一、Spring框架基础 1. **IoC(Inversion of Control)控制反转**:Spring的核心...
4. **集成Spring Cloud**:Spring Boot 可与Spring Cloud无缝结合,实现微服务架构,涵盖服务发现(Eureka)、配置中心(Config Server)、API Gateway(Zuul或Spring Cloud Gateway)等内容。 5. **安全控制**:...
总的来说,这是一套全面覆盖Spring Boot基础知识的视频教程,适合初学者入门,同时也对有一定经验的开发者有深入指导价值。通过学习,你将能熟练掌握Spring Boot,为构建高效、稳定的微服务架构打下坚实的基础。
本"day01笔记.rar"压缩包包含了第一天学习乐优商城项目开发的相关资料,是Spring Cloud乐优商城19天系列教程的组成部分,配合了详细的笔记,帮助学习者逐步掌握该项目的构建过程。 在Spring Cloud框架下,乐优商城...
7. **微服务**:如果涉及Spring Cloud,教程可能还会介绍如何利用Spring Boot构建微服务架构,包括Eureka(服务发现)、Ribbon(客户端负载均衡)、Zuul(API网关)和Hystrix(断路器)等组件。 8. **持续集成与...
最后,书籍还会讨论SpringBoot在云环境中的应用,如Docker容器化、Kubernetes编排等,以及SpringCloud系列组件,如Config Server、Bus、Service Registry等,帮助开发者构建可扩展的云原生应用。 总的来说,...
标题“course-springboot-2-java-”暗示了一个关于Spring Boot 2的Java课程或教程资源,这将涉及Spring框架的最新版本,Spring Boot 2,它是一个用于简化Spring应用程序初始搭建以及开发过程的框架。Spring Boot的...