spring cloud 微服务简介

1 Spring Cloud简介

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。
Spring Cloud包含了多个子项目(针对分布式系统中涉及的多个不同开源产品),比如:Spring Cloud Config、Spring Cloud Netflix、Spring Cloud CloudFoundry、Spring Cloud AWS、Spring Cloud Security、Spring Cloud Commons、Spring Cloud Zookeeper、Spring Cloud CLI等项目。

2 微服务架构

“微服务架构”在这几年非常的火热,以至于关于微服务架构相关的产品社区也变得越来越活跃(比如:netflix、dubbo),Spring Cloud也因Spring社区的强大知名度和影响力也被广大架构师与开发者备受关注。
那么什么是“微服务架构”呢?简单的说,微服务架构就是将一个完整的应用从数据存储开始垂直拆分成多个不同的服务,每个服务都能独立部署、独立维护、独立扩展,服务与服务间通过诸如RESTful API的方式互相调用。
对于“微服务架构”,大家在互联网可以搜索到很多相关的介绍和研究文章来进行学习和了解。也可以阅读始祖Martin Fowler的《Microservices》,本文不做更多的介绍和描述。

3 spring cloud 版本

3.1 版本命名

之前提到过,Spring Cloud是一个拥有诸多子项目的大型综合项目,原则上其子项目也都维护着自己的发布版本号。那么每一个Spring Cloud的版本都会包含不同的子项目版本,为了要管理每个版本的子项目清单,避免版本名与子项目的发布号混淆,所以没有采用版本号的方式,而是通过命名的方式。
这些版本名字采用了伦敦地铁站的名字,根据字母表的顺序来对应版本时间顺序,比如:最早的Release版本:Angel,第二个Release版本:Brixton,以此类推……

3.2 版本号

经过上面的解释,不难猜出,之前所提到的Angel.SR6,Brixton.SR5中的SR6、SR5就是版本号了。
当一个版本的Spring Cloud项目的发布内容积累到临界点或者一个严重bug解决可用后,就会发布一个“service releases”版本,简称SRX版本,其中X是一个递增数字。

3.3 当前版本

查看spring-cloud官网 http://projects.spring.io/spring-cloud/ 可以看到各版本包含的子项目以及子项目的版本号,通过此来决定需要选择怎么样的版本。

不难看出,最初的Angel版本相对来说拥有的子项目较少,Brixton、Camden则拥有更全的子项目,所以能提供更多的组件支持。而Brixton与Camden之间,Brixton的发布子项目更为稳定,Camden则更为前瞻。
我在开始编写Spring Cloud系列博文时,刚好是Brixton的第5个RELEASE版本,所以果断采用了这个版本来作为样例基础。也可以看到,在这短短的几个月时间里,没有更新多少文章,但是其版本提升尽如此迅速,更加证明了该项目良好的发展势头。

你可能感兴趣的:(spring cloud 微服务简介)