微服务与Spring Cloud基本概念、Spring Cloud版本命名方式与版本选择
微服务是什么?
Spring Cloud是什么?
Spring Cloud版本命名方式?
Spring Cloud版本选择?
一、微服务是什么
微服务是一种架构风格,是一种将单体应用开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并且可通过全自动部署机制独立部署。这些服务共用一个最小型的集中式的管理,服务可用不同的语言开发,使用不同的数据存储技术。
二、Spring Cloud是什么
Spring Cloud并不是一个具体的框架,可以理解为一个工具箱,它提供了各类工具,可以快速构建分布式系统。
Spring Cloud的各个项目基于Spring Boot,将Netflix的多个框架进行封装,并且通过自动配置的方式将这些框架绑定到Spring的环境中。
三、Spring Cloud版本命名方式
大多数Spring项目以“主版本号.次版本号.增量版本号.里程碑版本号”的形式命名版本。
主版本号表示项目的重大重构;
次版本号表示新特性的添加和变化;
增量版本号一般表示Bug修复;
里程碑版本号表示某版本号的里程碑;
例如Spring Framework稳定版本4.3.5.RELEASE、里程碑版本5.0.0.M4等。
但是Spring Cloud未采用上面这种方式,以“英文单词SRX(X为数字)”的形式命名版本号。
Spring Cloud是一个综合项目,包含很多的子项目,由于子项目也维护着自己的版本号,所以采用这种命名方式避免与子项目的版本混淆。
其中“英文单词”叫做“release train”,Camden、Dalston、Edgware等都是伦敦地铁的名称,按照字母顺序发行。
“SR”表示“Service Release”,一般表示Bug修复;
在SR版本发布之前,会先发布一个Release版本,例如在发布Edgware SR1之前,会先发布Edgware RELEASE。
“RC”表示“Release Candidate”候选版本,几乎不会加入新功能,着重于除错,是最终版之前的最后版本。
“SNAPSHOT”快照版本,不稳定、尚处于开发中的版本。
“M”表示“Milestone”,里程碑版,具有一些全新的功能或是具有里程碑意义的版本。
四、Spring Cloud版本选择
Spring Cloud版本与与子项目版本关系可查看:https://spring.io/projects/spring-cloud
| Release Train | Boot Version |
|---|---|
|
Hoxton |
2.2.x |
|
Greenwich |
2.1.x |
|
Finchley |
2.0.x |
|
Edgware |
1.5.x |
|
Dalston |
1.5.x |
| Component | Edgware.SR6 | Greenwich.SR2 | Greenwich.BUILD-SNAPSHOT |
|---|---|---|---|
|
spring-cloud-aws |
1.2.4.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-bus |
1.3.4.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-cli |
1.4.1.RELEASE |
2.0.0.RELEASE |
2.0.1.BUILD-SNAPSHOT |
|
spring-cloud-commons |
1.3.6.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-contract |
1.2.7.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-config |
1.4.7.RELEASE |
2.1.3.RELEASE |
2.1.4.BUILD-SNAPSHOT |
|
spring-cloud-netflix |
1.4.7.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-security |
1.2.4.RELEASE |
2.1.3.RELEASE |
2.1.4.BUILD-SNAPSHOT |
|
spring-cloud-cloudfoundry |
1.1.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-consul |
1.3.6.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-sleuth |
1.3.6.RELEASE |
2.1.1.RELEASE |
2.1.2.BUILD-SNAPSHOT |
|
spring-cloud-stream |
Ditmars.SR5 |
Fishtown.SR3 |
Fishtown.BUILD-SNAPSHOT |
|
spring-cloud-zookeeper |
1.2.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-boot |
1.5.21.RELEASE |
2.1.5.RELEASE |
2.1.8.BUILD-SNAPSHOT |
|
spring-cloud-task |
1.2.4.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-vault |
1.1.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-gateway |
1.0.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-openfeign |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
|
spring-cloud-function |
1.0.2.RELEASE |
2.0.2.RELEASE |
2.0.3.BUILD-SNAPSHOT |
Greenwich builds and works with Spring Boot 2.1.x, and is not expected to work with Spring Boot 1.5.x.
例如,Greenwich 版本基于Spring Boot 2.1.x构建,不兼容之前版本,如Spring Boot 1.5.x。
微服务与Spring Cloud基本概念、Spring Cloud版本命名方式与版本选择的更多相关文章
- Spring Cloud 微服务六:调用链跟踪Spring cloud sleuth +zipkin
前言:随着微服务系统的增加,服务之间的调用关系变得会非常复杂,这给运维以及排查问题带来了很大的麻烦,这时服务调用监控就显得非常重要了.spring cloud sleuth实现了对分布式服务的监控解决 ...
- 庐山真面目之六微服务架构Consul集群、Ocelot网关集群和Nginx版本实现
庐山真面目之六微服务架构Consul集群.Ocelot网关集群和Nginx版本实现 一.简介 在上一篇文章<庐山真面目之五微服务架构Consul集群.Ocelot网关和Nginx版本实 ...
- 庐山真面目之七微服务架构Consul集群、Ocelot网关集群和IdentityServer4版本实现
庐山真面目之七微服务架构Consul集群.Ocelot网关集群和IdentityServer4版本实现 一.简介 在上一篇文章<庐山真面目之六微服务架构Consul集群.Ocelot网 ...
- 几种常见的微服务架构方案——ZeroC IceGrid、Spring Cloud、基于消息队列、Docker Swarm
微服务架构是当前很热门的一个概念,它不是凭空产生的,是技术发展的必然结果.虽然微服务架构没有公认的技术标准和规范草案,但业界已经有一些很有影响力的开源微服务架构平台,架构师可以根据公司的技术实力并结合 ...
- spring cloud深入学习(一)-----什么是微服务?什么是rpc?spring cloud简介
近年来,微服务非常的流行,那么为什么是它?简单介绍一下. 为什么是微服务? 微服务架构是一种将单应用程序作为一套小型服务开发的方法,每种应用程序都在其自己的进程中运行,并与轻量级机制(通常是HTTP资 ...
- .NET Core 微服务架构 Steeltoe 使用(基于 Spring Cloud)
阅读目录: 1. Spring Cloud Eureka 注册服务及调用 2. Spring Cloud Hystrix 断路器 3. Spring Cloud Hystrix 指标监控 4. Spr ...
- 【SpringCloud构建微服务系列】分布式链路跟踪Spring Cloud Sleuth
一.背景 随着业务的发展,系统规模越来越大,各微服务直接的调用关系也变得越来越复杂.通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务调用协同产生最后的请求结果,几乎每一个前端请求都会形成一 ...
- Java 微服务框架选型(Dubbo 和 Spring Cloud?)
微服务(Microservices)是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成.系统中的各个微服务可被独立部署,各个微服务之间是松耦合的.每个微服务仅关注于完成一件任务并很好地完成该任 ...
- [转]Java微服务框架选型(Dubbo 和 Spring Cloud?)
转载于 http://www.cnblogs.com/xishuai/p/dubbo-and-spring-cloud.html 微服务(Microservices)是一种架构风格,一个大型复杂软件应 ...
随机推荐
- 关于使用DB2数据库的项目后台报-420错误码的问题
### Error querying database. Cause: com.ibm.db2.jcc.am.SqlDataException: DB2 SQL Error: SQLCODE=-4 ...
- SpringBBoot整合MyBatis
一.目录展示 二.导入依赖 三.配置文件application.yml 四.Student实体类 package com.zn.entity; public class Student { priva ...
- Android Studio中的AndroidManifest.xml文件分析
一.关于AndroidManifest.xml AndroidManifest.xml清单文件是每个Android程序中必须的文件,它是整个Android程序的全局描述文件,除了能声明程序中的Acti ...
- Nginx:The Location Block Selection Algorithm
Nginx:The Location Block Selection Algorithm,摘自NGINX:A PRACTICAL GUIDE TO HIGH PERFORMANCE Nginx配置文件 ...
- 图像处理之C语言实现二维卷积
在用C语言实现图像处理中,经常要用到二维卷积的运算,这个在matlab中是非常容易实现的,只需要conv2()就OK啦,而且速度非常的快.但是在C语言中就需要四层的for循环来实现了. 首先二维卷积的 ...
- WebShell代码分析溯源(十)
WebShell代码分析溯源(十) 一.一句话变形马样本 <?php $e = $_REQUEST['e'];register_shutdown_function($e, $_REQUEST[' ...
- mysql常用运行原理
MySQL的客户端/服务器架构 MySQL的服务器程序直接和我们存储的数据打交道,然后可以有好多客户端程序连接到这个服务器程序,发送增删改查的请求,然后服务器就响应这些请求,从而操作它维护的数据.和微 ...
- shiro认证授权
一.shiro基础概念 Authentication:身份认证 / 登录,验证用户是不是拥有相应的身份: Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个权限:即判断用户 ...
- JS---DOM---自定义属性引入和移除
总结:在html标签中添加的自定义属性, 如果想要获取这个属性的值, 需要使用getAttribute("自定义属性的名字")才能获取这个属性的值 html标签中有没有什么自带的属 ...
- 更改Dynamics 365 Customer Engagement本地部署的高级配置
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...