Spring cloud是一系列框架的有序集合。它利用 Spring Boot 的开发便利性,巧妙地简化了分布式系统基础设施的开发,如服务注册、服务发现、配置中心、消息总线、负载均衡、断路器、数据监控等,这些都可以用 Spring Boot 的开发风格做到一键启动和部署。

通俗地讲,Spring Cloud 就是用于构建微服务开发和治理的框架集合(并不是具体的一个框架),主要贡献来自 Netflix OSS。

Spring Cloud 模块介绍

Spring Cloud 模块的相关介绍如下:

  • Eureka:服务注册中心,用于服务管理。
  • Ribbon:基于客户端的负载均衡组件。
  • Hystrix:容错框架,能够防止服务的雪崩效应。
  • Feign:Web 服务客户端,能够简化 HTTP 接口的调用。
  • Zuul:API 网关,提供路由转发、请求过滤等功能。
  • Config:分布式配置管理。
  • Sleuth:服务跟踪。
  • Stream:构建消息驱动的微服务应用程序的框架。
  • Bus:消息代理的集群消息总线。

除了上述模块,还有 Cli、Task等。教程中只介绍一些常用的模块。

Spring Cloud 是一个非常好的框架集合,它包含的功能模块非常多,不可能一一讲解到,凡是在教程中出现的模块都是真实开发中用得到的。

Spring Cloud 版本介绍

相信大家跟笔者一样,在第一次访问 Spring Cloud 官网时一定会有一个疑惑那就是版本太多了,到底哪个是稳定版本?哪个才是自己需要的版本?接下来就给大家简单介绍一下版本的问题。

访问官网 https://projects.spring.io/spring-cloud/#learn 可以看到网页右侧的版本列表,如图 1 所示。


图 1  Spring Cloud版本

从图 1 中可以看到 Spring Cloud 不是像别的项目那样,版本号采用 1.1、1.2、1.3 这种的格式。因为 Spring Cloud 是一个拥有诸多子项目的大型综合项目,可以说是对微服务架构解决方案的综合套件组件,其中包含的各个子项目都独立进行着内容的迭代与更新,各自维护着自己的发布版本号。

至于怎么选择适合自己的版本,笔者认为,大家可以在接触的时候直接选最新的稳定版本。新版本中的 Bug 肯定要少,并且更稳定。

本教程的案例都是基于 Finchley SR2 进行讲解的。不同的版本有不同的功能,对应的每个子模块的版本也不一样,那么如何知道每个大版本下面具体的子模块是什么版本呢?

答案就在官网的首页上面,在页面的最下方有一个表格(见表 1 ),通过这个表格我们可以清楚地知道 Finchley SR2 对应的 Spring Boot 版本是 2.0.6.RELEASE,Spring-Cloud-Bus 是 2.0.0.RELEASE。

表 1 Spring Cloud版本列表

Component Edgware.SR5 Finchley.SR2 Finchley.BUILD-SNAPSHOT
spring-cloud-aws 1.2.3RELEASE 2.0.1.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-bus 1.3.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-cli 1.4.1.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-commons 1.3.5.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-contract 1.2.6.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-config 1.4.5.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-netflix  1.4.6.RELEASE  2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-security 1.2.3.RELEASE 2.0.1.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-cloudfoundry 1.1.2.RELEASE 2.0.1.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-consul  1.3.5.RELEASE 2.0.1.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-sleuth  1.3.5.RELEASE 2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-stream  Ditmars.SR4 Elmhurst.SRI Elmhurst. BUILD-SNAPSHOT
spring-cloud-zookeeper 1.2.2.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-boot 1.5.16.RELEASE 2.0.6.RELEASE  2.0.7.BUILD-SNAPSHOT
spring-cloud-task 1.2.3.RELEASE 2.0.0.RELEASE 2.0.1.BUILD-SNAPSHOT
spring-cloud-vault 1.1.2.RELEASE  2.0.2.RELEASE 2.0.2.BUILD-SNAPSHOT
spring-cloud-gateway 1.0.2.RELEASE 2.0.2.RELEASE  2.0.2.BUILD-SNAPSHOT

上一篇 微服务的概念和优缺点《一》

下一篇介绍 Spring Cloud和Dubbo的区别及各自的优缺点

《springcloud超级入门》Spring Cloud是什么?Spring Cloud版本介绍《二》相关推荐

  1. 《springcloud超级入门》Spring Cloud和Dubbo的区别及各自的优缺点《三》

    了解为什么需要微服务.最初的服务化解决方案是给相同服务提供一个统一的域名,然后服务调用者向这个域发送 HTTP 请求,由 Nginx 负责请求的分发和跳转. 这种架构存在很多问题:Nginx 作为中间 ...

  2. 《SpringCloud超级入门》Spring Boot Starter的介绍及使用《七》

    目录 Spring Boot Starter项目创建 自动创建客户端 使用 Starter 使用注解开启 Starter 自动构建 使用配置开启 Starter 自动构建 配置 Starter 内容提 ...

  3. 《SpringCloud超级入门》Spring Cloud Eureka是什么?《八》

    Spring cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分,基于 Netflix Eureka 做了二次封装,主要负责实现微服务架构中的服务治理功能. S ...

  4. 《SpringCloud超级入门》Eureka自我保护模式和InstanceID的配置《十四》

    关闭自我保护 保护模式主要在一组客户端和 Eureka Server 之间存在网络分区场景时使用.一旦进入保护模式,Eureka Server 将会尝试保护其服务的注册表中的信息,不再删除服务注册表中 ...

  5. 《SpringCloud超级入门》使用Eureka编写服务消费者《十一》

    我们先从 Nginx 说起,了解为什么需要微服务.最初的服务化解决方案是给相同服务提供一个统一的域名,然后服务调用者向这个域发送 HTTP 请求,由 Nginx 负责请求的分发和跳转. 这种架构存在很 ...

  6. 《springcloud超级入门》Spring Cloud开发环境的准备和Lombok安装步骤《四》

    开发环境的准备主要涉及三个方面:JDK.Maven.Spring Tools 4 for Eclipse. 1. JDK JDK 的版本用 1.8 即可,环境变量大家自行去配置.配置好环境变量,在命令 ...

  7. 《SpringCloud超级入门》Spring Boot项目搭建步骤(超详细)《六》

    目录 编写第一个 REST 接口 读取配置文件 profiles 多环境配置 热部署 actuator 监控 自定义 actuator 端点 统一异常处理 异步执行 随机端口 编译打包 在 Sprin ...

  8. 《springcloud超级入门》Spring Boot简介《五》

    Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是简化新 Spring 应用的初始搭建以及开发过程.该框架使用了特定的方式进行配置,从而使开发人员不再需要定义样板化的配置. ...

  9. 《SpringCloud超级入门》使用Eureka编写服务提供者《十》

    创建项目注册到 Eureka 将一个服务提供者 eureka-client-user-service 注册到 Eureka 中,并提供一个接口给其他服务调用. 创建一个 Maven 项目,在 pom. ...

最新文章

  1. overflow超出显示_[CSS]text-overflow: ellipsis;什么时候可能不生效?
  2. 每日一皮:我靠,这个分枝真的merge回主干了!
  3. Win7x64中使用VS调试WEB项目报“ORA-06413: 连接未打开”错误解决方法
  4. Chapter 7:Statistical-Model-Based Methods
  5. Win7 64位下配置jboss7
  6. 跳槽换工作的最佳时机,985硕士的人生总结
  7. 交换机 路由器和集线器的区别
  8. Cookie 和 Session机制具体解释
  9. C++ static、const和static const类型成员变量声明及其初始化
  10. ELK根据服务类型收集多个容器数据
  11. C++中指针优点与线程中指针变量访问
  12. 基于51单片机的避障小车
  13. mysql对象资源管理器在哪里_SQL server2008-对象资源管理器-数据库
  14. 塔防游戏路点---编辑器脚本设计
  15. 区块链最好的编程语言是什么?
  16. 掌握这几点 让你快速写出优质电影解说文案!
  17. 分布式认知工业互联网赋能工业企业数字化转型
  18. Log4j simple example
  19. android应用常见错误
  20. javascript setTimeout 参数最大值问题和递归调用

热门文章

  1. python 英语词频统计软件_Python实现统计英文文章词频的方法分析
  2. python深度神经网络算法_02.深度神经网络算法之Python基础与数据分析
  3. failed to open log file_C++中glog源码剖析以及如何设计一个高效 log模块
  4. python不能卸载原因_linux上python卸载不了是什么原因?
  5. c++程序设计_基于proteus的51单片机开发实例30-模块化程序设计
  6. 电脑公司win11旗舰版32位镜像v2021.07
  7. 猎豹浏览器小号窗口怎么打开 小号窗口打开方法简述
  8. Win11控制面板里面怎么找到系统安全?
  9. 抓包工具,知道手机app上面使用的接口是哪个
  10. navicat运行db文件_使用 YAML 文件配置 Jenkins 流水线