Spring Cloud 简介
Posted Kelbin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Cloud 简介相关的知识,希望对你有一定的参考价值。
前言:Spring Cloud是一款基于 Spring Boot 实现的微服务框架
Spring Cloud 并不是一个拿来即可用的框架,它是一种微服务规范,共有以下 2 代实现:
- 第一代实现:Spring Cloud Netflix
- 第二代实现:Spring Cloud Alibaba
1、Spring Cloud 的常用组件如下表所示。
Spring Cloud 组件 | 描述 |
---|---|
Spring Cloud Netflix Eureka | Spring Cloud Netflix 中的服务治理组件,包含服务注册中心、服务注册与发现机制的实现。 |
Spring Cloud Netflix Ribbon | Spring Cloud Netflix 中的服务调用和客户端负载均衡组件。 |
Spring Cloud Netflix Hystrix | 人称“豪猪哥”,Spring Cloud Netflix 的容错管理组件,为服务中出现的延迟和故障提供强大的容错能力。 |
Spring Cloud Netflix Feign | 基于 Ribbon 和 Hystrix 的声明式服务调用组件。 |
Spring Cloud Netflix Zuul | Spring Cloud Netflix 中的网关组件,提供了智能路由、访问过滤等功能。 |
Spring Cloud Gateway | 一个基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关框架,它使用 Filter 链的方式提供了网关的基本功能,例如安全、监控/指标和限流等。 |
Spring Cloud Config | Spring Cloud 的配置管理工具,支持使用 Git 存储配置内容,实现应用配置的外部化存储,并支持在客户端对配置进行刷新、加密、解密等操作。 |
Spring Cloud Bus | Spring Cloud 的事件和消息总线,主要用于在集群中传播事件或状态变化,以触发后续的处理,例如动态刷新配置。 |
Spring Cloud Stream | Spring Cloud 的消息中间件组件,它集成了 Apache Kafka 和 RabbitMQ 等消息中间件,并通过定义绑定器作为中间层,完美地实现了应用程序与消息中间件之间的隔离。通过向应用程序暴露统一的 Channel 通道,使得应用程序不需要再考虑各种不同的消息中间件实现,就能轻松地发送和接收消息。 |
Spring Cloud Sleuth | Spring Cloud 分布式链路跟踪组件,能够完美的整合 Twitter 的 Zipkin。 |
2、Spring Boot 和 Spring Cloud 的区别与联系
2.1、Spring Boot 和 Spring Cloud 分工不同
Spring Boot 是一个基于 Spring 的快速开发框架,它能够帮助开发者迅速搭 Web 工程。
Spring Cloud 是微服务架构下的一站式解决方案
- Spring Cloud 是基于 Spring Boot 实现的
- Spring Boot 和 Spring Cloud 依赖项数量不同
- Spring Cloud 不能脱离 Spring Boot 单独运行
Spring Cloud版本选择
spring-cloud | Spring Boot |
---|---|
Hoxton.SR12 | >=2.2.0.RELEASE and <2.4.0.M1 |
2020.0.6 | >=2.4.0.M1 and <2.6.0-M1 |
2021.0.0-M1 | >=2.6.0-M1 and <2.6.0-M3 |
2021.0.0-M3 | Spring Boot >=2.6.0-M3 and <2.6.0-RC1 |
2021.0.0-RC1 | Spring Boot >=2.6.0-RC1 and <2.6.1 |
2021.0.5 | Spring Boot >=2.6.1 and < 3.0.0-M1 |
2022.0.0-M1 | Spring Boot >=3.0.0-M1 and < 3.0.0-M2 |
2022.0.0-M2 | Spring Boot >=3.0.0-M2 and < 3.0.0-M3 |
2022.0.0-M3 | Spring Boot >=3.0.0-M3 and < 3.0.0-M4 |
2022.0.0-M4 | Spring Boot >=3.0.0-M4 and < 3.0.0-M5 |
2022.0.0-M5 | Spring Boot >=3.0.0-M5 and < 3.0.0-RC1 |
2022.0.0-RC1 | Spring Boot >=3.0.0-RC1 and < 3.0.0-RC2 |
2022.0.0-RC2 | Spring Boot >=3.0.0-RC2 and < 3.1.0-M1 |
Spring Cloud简介
一、简介
打开Spring官网http://spring.io 首页的中部,可以看到Spring Cloud的简介。
【原文】Building distributed systems doesn‘t need to be complex and error-prone(易错). Spring Cloud offers a simple and accessible(易接受的) programming model to the most common distributed system patterns(模式), helping developers build resilient(有弹性的), reliable(可靠的), and coordinated(协调的) applications. Spring Cloud is built on top of Spring Boot, making it easy for developers to get started and become productive quickly.
【翻译】构建分布式系统不需要复杂和容易出错。Spring Cloud为最常见的分布式系统模式提供了一种简单且易于接受的编程模型,帮助开发人员构建有弹性的、可靠的、协调的应用程序。Spring Cloud构建于Spring Boot之上,使得开发者很容易入手并快速应用于生产中
百度百科
Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。Spring Cloud并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者提供了一套简单易懂、易部署和易维护的分布式系统开发工具包
【总结】
Spring Cloud是微服务系统架构的一站式解决方案。
Spring Cloud与Spring Boot是什么关系
Spring Boot为Spring Cloud提供了代码实现环境,使用Spring Boot将其它组件有机融合到了Spring Cloud的体系架构中了。所以说,Spring Cloud是基于Spring Boot的、微服务系统架构的一站式解决方案
二、Spring Cloud在线资源
(1)Spring Cloud官网
https://spring.io/projects/spring-cloud
(2)Spring Cloud中文网
(3)Spring Cloud中国社区
三、Spring Cloud版本
(1)版本号来源
Spring Cloud的版本号并不是我们通常见的数字版本号,而是一些很奇怪的单词。这些单词均为英国伦敦地铁站的站名。同时根据字母表的顺序来对应版本时间顺序,比如:最早的Release版本Angel(天使),第二个Release版本Brixton(英国地名),然后是Camden、Dalston、Edgware,目前使用较多的是Finchley(英国地名)版本,而最新版本为Hoxton(英国地名),而我们这里要使用的是Greenwich(格林威治)
(2)Spring Cloud与Spring Boot版本
某一版本的Spring Cloud要求必须要运行在某一特定Spring Boot版本下。它们的对应关系在Spring Cloud官网可以看到版本对应说明
例如:
以上是关于Spring Cloud 简介的主要内容,如果未能解决你的问题,请参考以下文章
spring-cloud-kubernetes官方demo运行实战
第一篇:服务的注册与发现Eureka(Finchley版本)
spring-cloud 和 spring-cloud-gcp 是不是有通用 BOM 文件?
当 spring-cloud-starter-zipkin 使用 zipkin.brave 时,为啥需要 Spring sleuth?