简介

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus). Coordination of distributed systems leads to boiler plate patterns, and using Spring Cloud developers can quickly stand up services and applications that implement those patterns. They will work well in any distributed environment, including the developer’s own laptop, bare metal data centres, and managed platforms such as Cloud Foundry.

以上是Spring官方的介绍,大致的意思就是:SpringCloud为开发人员提供了快速构建分布式系统中的一些常见模式的工具(如配置管理、服务发现、断路器、智能路由、微代理、控制总线)。分布式系统的协调能力导致了“锅炉板模式”,并且使用Spring Cloud能够让开发者通过这个模式快速的搭建服务和应用。它们将在任何分布式环境中工作,包括开发者自己的笔记本电脑、裸金属数据中心和云铸造等管理平台。

Boiler Plate Patterns可以理解为Spring Cloud为每一个微服务节点提供一种开发样板,业务开发人员按照样板结构去开发即可。一个优秀的架构师在做技术选型或编写底层框架时,时时刻刻都会考虑面向业务的开发人员会以何种方式去使用框架,有统一的样板或者模式来遵循是对于任何刚使用框架的开发者都是非常有价值的。

历史版本

 英文  中文  终结版本  boot大版本  boot代表
 Angel  安吉尔  SR6  1.2.X  1.2.8
 Brixton  布里克斯顿  SR7  1.3.X  1.3.8 
 Camden  卡梅登  SR7  1.4.X  1.4.2
 Dalston  达斯顿   SR5  1.5.X  *
 Edgware  艾奇韦尔   SR5  1.5.X  1.5.19
 Finchley  芬奇利  SR2  2.0.X  2.0.8
Greenwich   格林威治 SR6  2.1.X  2.1.2
 Hoxton  霍克斯顿 SR12  2.2.X   2.2.6 [2.2.x, 2.3.x (Starting with SR5)]
 2020.0.4-aka Ilford  埃福的 GA  2.5.7  2.5.7(0.5版本) 2.4.x, 2.5.x (Starting with 2020.0.3)
 2021.0.0 aka Jubilee  朱比利 GA   2.6.x 2.6.1  GA 2.6.x 2.6.1,spring版本5.3.13
         

版本说明

  • SNAPSHOT :快照版,可以稳定使用,且仍在继续改进版本。
  • PRE:preview edition,预览版,内部测试版. 主要是给开发人员和测试人员测试和找BUG用的,不建议使用;
  • RC:Release Candidate,发行候选版本,基本不再加入新的功能,主要修复bug。是最终发布成正式版的前一个版本,将bug修改完就可以发布成正式版了。
  • SR:Service Release,表示bug修复。修正版或更新版,修正了正式版推出后发现的Bug。
  • GA:General Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。

SpringCloud 2021最新版本

SpringCloud官网截止到现在,最新版本更新到SpringCloud 2021.0.1 ,前段时间才刚发布,这是正版本发布版本,兼容 Spring Boot 2.6.x 。

从上面图我们可以看到,Spring Cloud有如此多的模块:

  • Spring Cloud Azure  : 微软提供的一套微服务实现。
  • Spring Cloud Alibaba : 阿里提供的一套微服务实现。
  • Spring Cloud for Amazon Web Services:亚马逊提供的一套微服务实现。
  • Spring Cloud Bus :消息总线
  • Spring Cloud Circuit Breaker :  断路器
  • Spring Cloud CLI:命令行工具
  • Spring Cloud for Cloud Foundry:VMware公司提供的一套微服务实现。
  • Spring Cloud - Cloud Foundry Service Broker:快速构建Cloud Foundry服务实例的框架。
  • Spring Cloud Cluster
  • Spring Cloud Commons:SpringCloud的公共包(包含了commons、context、loadbalancer),定义了服务注册、服务发现等。
  • Spring Cloud Config  :配置中心
  • Spring Cloud Connectors
  • Spring Cloud Consul
  • Spring Cloud Contract
  • Spring Cloud Function
  • Spring Cloud Gateway:Spring Cloud官方实现的网关。
  • Spring Cloud GCP: 谷歌提供的一套微服务实现。
  • Spring Cloud Kubernetes
  • Spring Cloud Netflix:奈飞提供的一套云服务实现。(最早)
  • Spring Cloud Open Service Broker
  • Spring Cloud OpenFeign : Spring Cloud维护的Rest 客户端。
  • Spring Cloud Pipelines
  • Spring Cloud Schema Registry
  • Spring Cloud Security
  • Spring Cloud Skipper
  • Spring Cloud Sleuth
  • Spring Cloud Stream
  • Spring Cloud Stream Applications
  • Spring Cloud Task
  • Spring Cloud Task App Starters
  • Spring Cloud Vault
  • Spring Cloud Zookeeper
  • Spring Cloud App Broker

Netflix公司是目前微服务落地中最成功的公司,它开源了诸如Eureka、Hystrix、Zuul、Feign、Ribbon等等广大开发者所知微服务套件,统称为Netflix OSS;

在当时Netflix OSS成为微服务组件上事实的标准;但是微服务兴起不久,也就是在 2018 年前后Netflix公司宣布其核心组件Hystrix、Ribbon、Zuul、Eureka等进入停更状态,不再进行新特性开发,只修 BUG.
Netflix停更直接影响了Spring Cloud项目的发展路线,Spring 官方不得不采取了应对措施,在 SpringOne 2019 大会中,Spring Cloud宣布 Spring Cloud Netflix 项目进入维护模式,并在 2020 年移除相关的Netflix OSS组件。

Alibaba公司也紧随潮流。基于之前开源的Dubbo,陆陆续续又开源了Nacos、Sentinel、Seata、RocketMQ等。在我们国内也是广泛使用。

至于其他公司实现的微服务,在我们国内使用的不多。所以在之后我们将以Netflix+Spring 官方 和Alibaba两套微服务来展开学习。

01-SpringCloud介绍的更多相关文章

  1. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  2. 开源Math.NET基础数学类库使用(01)综合介绍

    原文:[原创]开源Math.NET基础数学类库使用(01)综合介绍 开源Math.NET基础数学类库使用系列文章总目录:   1.开源.NET基础数学计算组件Math.NET(一)综合介绍    2. ...

  3. Nmap原理-01选项介绍

    Nmap原理-01选项介绍 1.Nmap原理图 Nmap包含四项基本功能:主机发现/端口扫描/版本探测/操作系统探测.这四项功能之间存在大致的依赖关系,比如图片中的先后关系,除此之外,Nmap还提供规 ...

  4. java框架之SpringCloud(1)-微服务及SpringCloud介绍

    微服务概述 是什么 业界大牛 Martin Fowler 这样描述微服务: 参考[微服务(Microservices)-微服务原作者Martin Flower博客翻译]. 下面是关于上述博客中的部分重 ...

  5. vue.js 2.0 官方文档学习笔记 —— 01. vue 介绍

    这是我的vue.js 2.0的学习笔记,采取了将官方文档中的代码集中到一个文件的形式.目的是保存下来,方便自己查阅. !官方文档:https://cn.vuejs.org/v2/guide/ 01. ...

  6. 01.课程介绍 & 02.最小可行化产品MVP

    01.课程介绍 02.最小可行化产品MVP 产品开发过程 最小化和可用之间找到一个平衡点

  7. 前端 ----- 01 -html介绍和head标签

    01-html介绍和head标签   主要内容 web标准 浏览器介绍 开发工具介绍 HTML介绍 HTML颜色介绍 HTML规范 HTML结构详解 一.web标准 web准备介绍: w3c:万维网联 ...

  8. 先导篇:SpringCloud介绍篇

    1.什么是SpringCloud Spring Cloud是一系列框架的有序集合.它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册.配置中心.消息总线.负载 ...

  9. 【原创】开源Math.NET基础数学类库使用(01)综合介绍

                   本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新  开源Math.NET基础数学类库使用总目录:[目录]开源Math.NET基础数学类库使用总目录 前言 ...

  10. Swift开发学习-01 Swift介绍

    本教程是笔者在自学IOS/Swift知识的总结,适用于通过对Objictive C编程的运用并需要了解基于iOS程序的iPhone和iPad的程序员.做一个有bigger的’攻城狮‘,有尊严的工作,快 ...

随机推荐

  1. 学Go语言能找到实习吗,年前聊聊Go和Java

    前言 快过年了,来公司的人越来越少,估计明天都没什么人了,白泽也要收拾收拾回老家过年了.今天就随便写写零碎的事,所以行文当中难免思路跳跃,请大家一笑了之. 每次冷不丁收到公司给发的礼品袋,心头总是莫名 ...

  2. java命令- (学习)jps

    jps(Java Virtual Machine Process Status Tool) 是java提供的一个显示当前所有java进程pid的命令,适合在linux/unix平台上简单察看当前jav ...

  3. VC 创建快捷方式

    转载请注明来源:https://www.cnblogs.com/hookjc/ VC6下测试时使用的是绝对地址BOOL CFGDlg::CreateLink (        LPSTR szPath ...

  4. Java线程--ReentrantLock使用

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11871593.html Java线程--ReentrantLock使用, 互斥锁: Reent ...

  5. Math 数学类

    /* Math 数学类, 主要是提供了很多的数学公式. abs(double a) 获取绝对值 ceil(double a) 向上取整 floor(double a) 向下取整 round(float ...

  6. linux_15

    实现基于MYSQL验证的vsftpd虚拟用户访问 配置samba共享,实现/www目录共享 使用rsync+inotify实现/www目录实时同步 LVS调度算法总结 LVS的跨网络DR实现

  7. pytest(8)-参数化

    前言 什么是参数化,通俗点理解就是,定义一个测试类或测试函数,可以传入不同测试用例对应的参数,从而执行多个测试用例. 例如对登录接口进行测试,假设有3条用例:正确账号正确密码登录.正确账号错误密码登录 ...

  8. Solution -「多校联训」签到题

    \(\mathcal{Description}\)   Link.   给定二分图 \(G=(X\cup Y,E)\),求对于边的一个染色 \(f:E\rightarrow\{1,2,\dots,c\ ...

  9. Solution -「CF 1025D」Recovering BST

    \(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\),问是否存在一棵二叉搜索树,使得其中序遍历为 \(\{a_n\}\),且相邻接的两点不互素.   ...

  10. Solution -「CF 1391E」Pairs of Pairs

    \(\mathcal{Description}\)   Link.   给定一个 \(n\) 个点 \(m\) 条边的无向图,在其上找到一条包括不少于 \(\lceil\frac{n}2\rceil\ ...