天天看点

微服务框架(SpringCloud框架、服务治理)微服务框架概念学习

微服务框架概念学习

https://blog.csdn.net/weixin_50074995/article/details/116233853?spm=1001.2014.3001.5502

(微服务概念)

在实际应用中微服务技术虽然带来了许多的好处优点,但是也带来了许多必须处理的问题,这些问题则需要我们引入新的技术来解决。

但是因为如果引入大量技术的话肯定会产生许多兼容性问题,想要解决这些问题的开销无疑是巨大的,因此虽然这种方式更加灵活,但是一般也只有大型公司才有资本和需求来应用。

通常的中小型企业一般都是用其他公司集成好的框架来进行开发。SpringCloud便是其中一个主流且成熟的框架,同时因为springBoot的成熟与广泛使用,因此便从SpringCloud开始学习。

SpringCloud框架是基于springBoot框架而开发的微服务框架,他提供一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,

微服务框架(SpringCloud框架、服务治理)微服务框架概念学习

SpringCloud中所集成的技术并不全是其自己开发的,他还集成了很多已经经过实际开发环境考验的、成熟的、稳定的技术,比如在其官网提供的组件中可以看到在其组件中有许多来源于NetFLlix。

微服务架构中最核心的部分是服务治理,在SpringCloud中使用了Eureka来实现

服务治理

服务治理最基础的组件是注册中心,他的作用就是服务的注册与发现。

在微服务中一般会组成服务器集群来处理大量的客户请求,这个时候就需要服务治理技术来负责分配请求,让客户端知道应该去哪里请求。

微服务框架(SpringCloud框架、服务治理)微服务框架概念学习

在用户请求的时候要解决以下问题:

有哪些服务器

服务器是否可用

服务器的地址

这个时候我们就需要一个管理者来处理这些问题,这个管理者我们称之为注册中心

在服务治理中需要进行以下步骤

服务注册:每个服务在启动的时候,告诉注册中心自己的位置信息。

服务发现:商品服务想要调用订单服务,先找注册中心获取到所有服务的位置信息,然后找到订单服务的地址,发起调用。

服务续约(心跳机制):服务启动之后,每过30秒向注册中心心跳一次(就是发送一个消息,告诉注册中心自己还活着),如果注册中心长时间没有收到某个服务的心跳,那么就会认为这个服务已经宕机,就从服务注册列表中删除

SpringCloud使用Eureka来实现服务治理的

在Eureka的架构中,分为 Eureka Server 和 Eureka client

Eureka 注册中心 Eureka Server

Eureka Server 作为服务注册功能的服务器,它也是服务注册中心。

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

而系统中的其他微服务,使用 Eureka 的客户端连接到 Eureka Server并维持心跳连接。这样系统的维护人员就可以通过 Eureka Server 来监控系统中各个微服务是否正常运行。

心跳连接:在规定时间内向服务注册中心发送信息,更新自身状态信息,以维持注册中心中的服务清单的信息更新,如果超过规定时间没有发送请求,则视为此台服务器出现故障不可请求

Eureka 客户端 Eureka Client

EurekaClient是一个Java客户端,用于简化Eureka Server的交互,客户端同时也具备一个内置的、使用轮询(round-robin)负载算法的负载均衡器。

在应用启动后,将会向Eureka Server发送心跳(默认周期为30秒)。如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)Eureka Client会缓存服务注册表中的信息。这种方式有一定的优势首先可以降低Eureka Server的压力,其次当所有的Eureka Server宕机服务调用方依然可以完成调用

微服务框架(SpringCloud框架、服务治理)微服务框架概念学习