首先讲一下我为什么要写这一系列的文章,现在网上大量的springcloud相关的文章,使用的springboot和springcloud的版本都相对比较老,很多还是在使用springboot1.x的版本,如果尝鲜想使用springboot2.x的版本,很多配置都和之前的不一样,有了大量的修改,很多刚开始学习的朋友可能试一试搭不起来就放弃了,本系列教程就是帮助刚接触springcloud的朋友简单上手,快速起步。
springboot进入2.x以后,历经一年多的修修改改,终于到了2.1.x的版本,相对较为稳定,本系列教程将使用目前最新的springboot(2.1.6.RELEASE)和springcloud(Greenwich.SR1)版本(如无特殊说明)。
1. 什么是springcloud?
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。
— 以上内容摘自百度百科
百度百科的解释看起来文绉绉的,可能刚接触的朋友很多新名词都看不大懂。我的理解就是springcloud为项目微服务化提供了一系列的工具,常用的包括注册中心,断路器,配置中心,消息总线等等,简单理解就是springcloud提供了一系列的工具或者框架,当然,还包含很多设计思想。(了解源码可+求求: 1791743380)
2. 微服务架构选型为什么选择springcloud而不会dubbo?
这里仅代表我的个人观点,欢迎交流:)
说到这个,就要先聊一下什么是微服务了。
微服务(Microservices): 是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。在所有情况下,每个任务代表着一个小的业务能力。
Dubbo: Dubbo是一个分布式服务框架,致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。简单的说,Dubbo 就是个服务框架,说白了就是个远程服务调用的分布式框架。
springcloud: springcloud是一整套的微服务解决方案,有一张很有名的对比图可以清晰看到dubbo和springcloud功能对比,如下:
如果微服务架构选型选择了dubbo,那么后续一些其他的组件,还需要我们自己去评估目前市面上一些开源的组件是否符合我们的需要,而如果架构选型选择了springcloud,那么就能省心很多,springcloud本身就提供了一整套的微服务的解决方案,虽然有很多组件目前看起来依然不是很成熟,不过这依然大大降低了我们在架构选型上的工作量。
3. springcloud一些常用组件
以下排序不分先后
- Spring Cloud Config 配置中心: 利用 Git 集中管理程序的配置。
- Spring Cloud Netflix Eureka: 服务中心(类似于管家的概念,需要什么直接从这里取,就可以了),一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
- Spring Cloud Netflix Hystrix 熔断器: 容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
- Spring Cloud Netflix Zuul 网关: 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Web 网站后端所有请求的前门。
- Spring Cloud Netflix Archaius: 配置管理 API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
- Spring Cloud Netflix Ribbon: 负载均衡。
- Spring Cloud Netflix Fegin: REST客户端。
- Spring Cloud Bus: 消息总线,利用分布式消息将服务和服务实例连接在一起,用于在一个集群中传播状态的变化。
- Spring Cloud Security: 安全控制。
- Spring Cloud Sleuth: 分布式链路监控,SpringCloud 应用的分布式追踪系统,和 Zipkin,HTrace,ELK 兼容。
- Spring Cloud Stream: 消息组件,基于 Redis,Rabbit,Kafka 实现的消息微服务,简单声明模型用以在 Spring Cloud 应用中收发消息。
相关推荐
尚硅谷_SpringCloud_SpringCloud国内使用情况.avi这部视频中,讲师详细介绍了SpringCloud在国内的广泛应用场景和普及程度。SpringCloud因其强大的服务治理、服务发现、负载均衡等功能,成为了企业级微服务架构的首选...
我这个系列也介绍Spring Cloud各模块的如何使用,如果你已经使用的很熟悉,也需要更好看。 本系列主要包括以下功能的介绍和简单的脚手架 随着我的 Spring Cloud 系列文章的更新,下面的目录同步更新,文章会首发于...
通过以上介绍,我们不仅了解了Spring Cloud的基本概念和核心组件,还掌握了如何下载并使用其源码进行深入学习的方法。这对于开发者来说是非常宝贵的学习资源,有助于更好地理解和应用Spring Cloud技术栈。
1. Spring Cloud Zuul:介绍Zuul作为API Gateway的角色,学习如何配置和使用Zuul进行请求路由和过滤。 2. Spring Cloud Gateway:对比Zuul,理解Spring Cloud Gateway的优势,学习其动态路由、过滤器链等功能。 第...
SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点或者说技能点且都有对应的博客介绍,代码开箱即用适合新手学习或老司机复习。 SpringCloud系列Demo代码,每个子项目都是SpringCloud的一个知识点...
SpringCloud微服务架构技术分享 ...三、SpringCloud介绍:介绍SpringCloud起源,技术概述,一站式解决方案架构图等 四、SpringCloud常用组件:项目实战,搭建指南,主要讲解SpringCloud的几大常用组件和介绍其他组件
一篇很好的springCloud学习的思维导读,详细的介绍了,springCloud的搭建步骤以及各组件的说明讲解 涵盖 Eureka服务注册与发现 Zookeeper服务注册与发现 Consul服务注册与发现 Ribbon负载均衡服务调用 OpenFeign...
本篇将详细介绍Spring Cloud Gateway的配置文件相关知识,以及如何通过配置文件对Gateway进行定制。 1. **Gateway的基本概念** Spring Cloud Gateway旨在为微服务架构提供一种简单有效的统一的API路由管理方式,它...
下面将详细介绍Springcloud的相关知识点。 首先,Spring Boot简化了Java应用程序的创建和部署,通过 starter POMs 可以简化依赖管理,并提供自动配置功能。在Springcloud项目中,Spring Boot作为基础,使得开发...
接着,会介绍Spring Cloud的核心组件——Eureka,它是服务注册与发现的实现,让服务提供者和服务消费者能够自动发现彼此。通过实例,读者可以学习到如何创建和注册服务,以及如何实现服务调用。 Spring Cloud ...
本笔记主要介绍了从单体架构到微服务架构的演变过程,以及 Spring Cloud 中的微服务架构搭建。下面是本笔记的详细知识点总结: 一、单体架构 单体架构是指整个系统只有一个工程,打包往往是打成了 war 包,然后...
尚硅谷_SpringCloud_SpringCloud功能域和官网资料介绍.avi" 这个视频可能涵盖了SpringCloud的主要功能领域,包括服务注册与发现、负载均衡、断路器模式、配置中心、API网关、服务跟踪等。在视频中,讲师可能会详细...
以下将详细介绍如何在SpringCloud中配置和使用Redis集群。 首先,你需要了解Redis集群的基本概念。Redis集群通过数据分片(Sharding)技术,将数据分散存储在多个节点上,每个节点只负责一部分数据,从而实现数据的...
Spring cloud 实战电商网站项目( 模块) 目的: 综合应用 spring cloud进行微服务架构开发。 开发环境 操作系统 : windows Java环境 : JDK1.8(不能使用高版本) 开发工具 : Idea 2020 数据库: mysql 5.5以上 ...
# springcloud-zone #### 项目介绍 项目为学习用途搭建,主要包括以下模块: springcloud-register:服务注册中心 (eureka-server),提供服务注册与发现功能。 springcloud-config:远程配置中心,分为git与native...
### SpringCloud核心概念与面试题解析 #### 一、SpringCloud简介 1. **SpringCloud定义** SpringCloud是一个构建在Spring Boot之上的微服务框架集合,它利用Spring Boot的便捷开发特性,极大地简化了分布式系统...
- **介绍Spring Cloud Stream**:提供了Spring Cloud Stream的基础知识和主要概念。 - **主要概念**:列举了Spring Cloud Stream中的核心概念,如Binder、消息通道等。 - **应用模型**:解释了Spring Cloud Stream...
介绍Spring Cloud Stream与RabbitMQ集成的代码示例。Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。
15. Spring Cloud Stream介绍:阐述了Spring Cloud Stream的基本概念、应用模型、Binder抽象、动态绑定目的地、内容类型和转换规则、以及自定义邮件转换的实现方式。 通过这份文档,开发者可以了解Spring Cloud中的...