Spring Cloud 简介

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:

Spring Cloud 简介
思维导图如下

总说

这里将会首先简单介绍一下Spring Cloud 。
其Logo 如下

Spring Cloud 是一系列有序框架的集合,其主要的设施有,服务发现与注册,配置中心,消息总线,负载均衡,断路器,数据监控等,通过Spring Boot的方式,可以实现一键启动,和部署。
Spring 没有重新造车轮,只是把各家的应用给综合起来。最后给开发者遗留下了一个足够简单的,相当容易部署的,相当容易学习的Spring 体系。
至于为什么要学习Spring Cloud的体系,因为原先的体系过于复杂了,导致开发的环境艰难,正是由于开发的环境的艰难,Spring Cloud 的是Spring体系的简化版,简化了原有的复杂,使得开发变的更加的简单快速。
其核心如下:
Spring Cloud Config、Spring Cloud Netflix(Eureka、Hystrix、Zuul、Archaius…)、Spring Cloud Bus、Spring Cloud for Cloud Foundry、Spring Cloud Cluster、Spring Cloud Consul、Spring Cloud Security、Spring Cloud Sleuth、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Zookeeper、Spring Cloud Connectors、Spring Cloud Starters、Spring Cloud CLI
这里将会一一的介绍。

服务注册与发现

其英文名称为 Spring Cloud Eureka,为Spring Cloud Netflix 子项目的核心组件之一,主要用于微服务的服务治理与发现。
在微服务的架构中,往往都有一个注册中心,每个微服务都会向注册中心,注册自己的微服务,注册中心,维护着,服务名称与服务实例对应的关系,每个微服务都会定时的从注册中心,获取注册列表,同时汇报自己的运行情况,这样当有其他服务需要调用该服务的时候,就可以向自己获取到的列表中,获取地址进行调用,Eureka实现了这套机制。即服务注册与发现。

其为微服务架构体系中最为核心的一点,用于其他微服务注册到该注册中心,配合路由可以实现路由的转发。通过寻找,遍历出其微服务。
同类型产品的还有Apahe Zookeeper 相对于高可用来说,zk 将不会保证,服务的可用性,当节点挂掉以后,需要进行Leader 选举,选举的时候会出现短暂的挂掉。而 eureka 当一个节点宕机以后,会进行自动的转移。所以其高可用性比zookeeper 相比更高。

配置中心

伴随着配置的增长,服务也有很多个配置,每个配置文件都各个不相同,其中,许多配置文件都是可以共用的,如果每个服务都去管理这些配置,会带来极大的麻烦,这个时候,需要引入基于Git的配置中心,去配置这个服务,例如Spring Cloud 体系中的,Spring Cloud Config,但是服务之间如何通信,这里使用 Spring Cloud Bus,即消息总线,作为配置中心,通知到配置体系中。

服务消费者

这里是相当经典的生产者,消费者模型,通过生产者,和消费者,统一进行布置,通过Spring Cloud Feign 远程调用,实现服务消费者,和生产者之间的相关联。实现经典的服务消费者和生产者之间的关系。

服务容错

当调用服务出错以后,服务如何保证整个体系不崩塌,这里就需要使用服务容错进行处理。这里称为服务雪崩,当出现服务雪崩的时候,整个服务链路会出现调用崩塌的情况。
Spring Cloud 组件中的 Spring Cloud HyStrix 实现了这种服务降级,与故障隔离。

网关

网关为整个系统,提供路由,鉴权,监控,负载均衡等功能,Spring Cloud 为此提供的解决方案有Zuul,与Gateway。

服务追踪

伴随着整个服务链路的增长,服务越来越多,排查问题,监控指标的时候,服务追踪变的相当的重要,Spring Cloud 体系提供的是,Sleuth,对整个服务链路进行追踪,并以图表的形式表现出来。

服务测试

在微服务体系中,一个服务可能会依赖其他的服务,这里使用服务测试来使用。通过Mock数据,实现服务的测试。
这里使用的是 Spring Cloud Contract

更多工具

Spring Cloud Security

Spring Cloud Security 的安全工具包,用于对Spring Security 提供基本的RBAC服务。

Spring Cloud Sleuth

用于进行相关的日志收集,实现分布式追踪的一种解决方案。

Spring Cloud Data Flow

用于进行大规模的数据处理。

Spring Cloud Stream

事件触发的机制,让其实现事件触发。

Spring Cloud Task

调度工作,定时任务,需要使用 Task

Spring Cloud Zookeeper

同属于 注册中心 Zookeeper 体系。

Spring Cloud Connectors

利用 Spring Cloud Connectors 实现云平台的搭建。

Spring Cloud Starters

开箱即用,可以实现Boot形式的启动项目。

Spring Cloud CLI

同上,使用命令行的方式实现开箱即用。

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
1月前
|
负载均衡 Java API
Spring Cloud 面试题及答案整理,最新面试题
Spring Cloud 面试题及答案整理,最新面试题
138 1
|
1月前
|
Java Nacos Sentinel
Spring Cloud Alibaba 面试题及答案整理,最新面试题
Spring Cloud Alibaba 面试题及答案整理,最新面试题
204 0
|
1月前
|
SpringCloudAlibaba Java 持续交付
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
【构建一套Spring Cloud项目的大概步骤】&【Springcloud Alibaba微服务分布式架构学习资料】
148 0
|
1月前
|
SpringCloudAlibaba Java 网络架构
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
【Springcloud Alibaba微服务分布式架构 | Spring Cloud】之学习笔记(七)Spring Cloud Gateway服务网关
98 0
|
1天前
|
监控 Java 微服务
第八章 Spring Cloud 之 Hystrix
第八章 Spring Cloud 之 Hystrix
|
1天前
|
监控 Java API
第七章 Spring Cloud 之 GateWay
第七章 Spring Cloud 之 GateWay
|
1天前
|
消息中间件 Java Nacos
第三章 Spring Cloud简介
第三章 Spring Cloud简介
|
1天前
|
Java Nacos 开发者
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
Java从入门到精通:4.2.1学习新技术与框架——以Spring Boot和Spring Cloud Alibaba为例
|
1天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
8天前
|
负载均衡 Java 开发者
细解微服务架构实践:如何使用Spring Cloud进行Java微服务治理
【4月更文挑战第17天】Spring Cloud是Java微服务治理的首选框架,整合了Eureka(服务发现)、Ribbon(客户端负载均衡)、Hystrix(熔断器)、Zuul(API网关)和Config Server(配置中心)。通过Eureka实现服务注册与发现,Ribbon提供负载均衡,Hystrix实现熔断保护,Zuul作为API网关,Config Server集中管理配置。理解并运用Spring Cloud进行微服务治理是现代Java开发者的关键技能。