1.简介

Spring Cloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对Spring Cloud功能使用的层面,其底层的很多原理,很多人可能并不知晓。
实际上,Spring Cloud是一个全家桶式的技术栈,包含了很多组件。本文先从其最核心的几个组件入手,来剖析一下其底层的工作原理。也就是EurekaRibbonFeignHystrixZuul这几个组件。

2.特点

  • 约定优于配置
  • 适用于各种环境,开发、部署在PC Server或各种云环境(例如阿里云、AWS等)均可
  • 隐藏了组件的复杂性,并提供声明试、无XML的配置方式
  • 开箱即用,快速启动
  • 轻量级的组件。Spring Cloud整合的组件大多都比较轻量,例如Eureka、Zuul等,都是各自领域轻量级的实现
  • 组件丰富,功能齐全。Spring Cloud为微服务架构提供了非常完整的支持。例如 配置管理、服务发现、断路器、微服务网关等
  • 选型中立、丰富。例如 Spring Cloud支持使用Eureka、zookeeper或Consul实现服务发现
  • 灵活。Spring Cloud 的组成部分是解耦的,开发人员可按需灵活挑选技术选型

3.整体架构图

Spring Cloud 笔记(一) Spring Cloud 介绍

4.版本介绍

Spring Cloud 笔记(一) Spring Cloud 介绍
Spring Cloud是一个由众多独立子项目组成的大型综合项目,每个子项目有不同的发行节奏,都维护着自己的发布版本号。Spring Cloud通过一个资源清单BOM(Bill of Materials)来管理每个版本的子项目清单。为避免与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式。这些版本名称的命名方式采用了伦敦地铁站的名称,同时根据字母表的顺序来对应版本时间顺序,比如:最早的Release版本:Angel,第二个Release版本:Brixton,然后是Camden、Dalston、Edgware,Finchley,目前最新的是Greenwich版本。

常见版本号说明

举个瓜:2.0.3 RELEASE

  • 2:主版本号,当功能模块有较大更新或者整体架构发生变化时,主版本号会更新

  • 0:次版本号。次版本表示只是局部的一些变动。

  • 2:修改版本号。一般是bug的修改或者是小的变动

  • RELEASE:希腊字母版本号。此版本号用户标注当前版本的软件处于哪个开发阶段
希腊字母版本号

  • Base:设计阶段。只有相应的设计没有具体的功能实现。
  • Alpha:软件的初级版本。基本功能已经实现,但存在较多的bug。
  • Bate:相对于Alpha已经有了很大的进步,消除了严重的BUG,但还存在一些潜在的BUG,还需要不断测试。
  • RELEASE:最终版本,没有太大的问题。
SpringCloud的版本号

  • 为什么springcloud版本用的是单词而不是数字呢?
    设计的目的是为了更好的管理每个SpringCloud子项目的清单,避免自己的版本号与子项目的版本号混淆。

  • 有什么规则么?
    (常用了英国伦敦地铁站的名称来命名)首字母越靠后表示版本号越大

  • 关于版本发布说明?

  • BUILD-XXX:开发版, 开发团队内部使用,不是很稳定

  • GA:稳定版, 相比于开发版,基本上可以使用了

  • PRE(M1、M2): 里程碑版, 主要是修复了一些BUG的版本,一个GA后通常有多个里程碑版

  • RC:候选发布版, 该阶段的软件类似于最终版的一个发行观察期,基本只修复比较严重的BUG

  • SR:正式发布版,~~~~这个就没啥好说啦

spring cloud 的版本要与springboot的版本对应,否则可能会出现一些意外惊喜。就像Spring Boot需要依赖对应的Spring Framework版本一样,Spring Cloud需要依赖对应版本的Spring Boot,我们不能随便使用版本。

5.新配置项目做的几件事情(三步走)

  • 导入依赖
  • 编写配置文件
  • 开启这个功能 @EnableXXXXX

相关文章:

  • 2021-09-20
  • 2021-11-23
  • 2021-09-28
  • 2021-06-25
猜你喜欢
  • 2021-10-28
  • 2021-05-21
  • 2021-07-01
  • 2022-12-23
  • 2021-10-04
相关资源
相似解决方案