微服务开发框架-SpringCloud

一、SpringCloud简介

Spring Cloud是在SpringBoot的基础上构建的,提供了一系列常见的模式和应用,是快速构建分布式系统的工具集。开发者可以快速实现这些模式的服务和应用程序并运行在任何可能的环境中。SpringCloud 开发的应用非常的适合在云环境上部署(如Cloud Foundry),所以又叫做云原生应用(Cloud Native Application)。

二、SpringCloud扩展性

SpringCloud致力于为典型用例提供良好的开箱即用的体验,并提供覆盖其他用例的可扩展性机制

  • 分布式/版本化配置
  • 服务注册和发现
  • 路由
  • 服务之间的调用
  • 负载均衡
  • 断路器
  • 全局锁
  • leader选举和集群状态
  • 分布式报文传送

三、SpringCloud特点

springcloud大致有以下特点:

  • 约定优于配置   如一些属性都有默认值,非必要我们可以不必改动,遵循约定即可
  • 适用于各种开发环境  开发、测试部署在物理机,云环境均可
  • 隐藏了组件的复杂性   基于SpringBoot构建,并提供声明式,无xml的配置方式
  • 开箱即用, 快速启动
  • 轻量级的组件  SpringCloud提供的组件大多比较轻量, 如Euraka、Zuul都是各自领域轻量级的实现
  • 组件丰富,功能齐全   SpringCloud为微服务架构提供了非常完整的支持。如配置管理,服务发现,断路由,微服务网关等
  • 选型中立,丰富  如支持Euraka、Zookeeper、Consul实现服务发现
  • 技术选型灵活  由于服务独立,不受技术限制,开发人员人员可以灵活技术选型

四、SpringCloud版本

1、SpringCloud 版本

大多数spring项目都是以“主版本号.次版本号.增量版本号.里程碑版本号”的形式命名版本号的,如spring-framework的稳定版本5.1.5.RELEASE,里程碑版本5.0.0.M5。其中主版本号表示项目的重大重构;次版本号表示新特性的添加与变化;增量版本好一般表示bug修复;里程碑版本号表示某版本号的里程碑。然而SpringCloud并未采取这种方式管理版本。

 从下图可以看到,Spring Cloud是以英文单词+SRX(X是数字)的形式命名版本号的,这些英文单词包括不限于伦敦地铁站的的名字,它们按照字母顺序发行,可将其理解为主版本的演进。SpringCloud是一个系列子项目的综合, 每个子项目都维护这自己的的版本号, 为了避免与子项目的版本混淆,SpringCloud采用了这种命名方式。SR表示“Service Release”,一般表示bug修复;在SR版本发布之前,一般会先发布一个Release版本。

详细版本发布记录见:https://github.com/spring-cloud/spring-cloud-release/releases

版本演进计划见:https://github.com/spring-cloud/spring-cloud-release/milestones

2、子项目版本

参见官网:http://spring.io/projects/spring-cloud

Table 1.兼容springboot的对应版本
Release TrainBoot Version

Greenwich

2.1.x

Finchley

2.0.x

Edgware

1.5.x

Dalston

1.5.x

Table 2. 对应子项目版本
ComponentEdgware.SR5Finchley.SR2Finchley.BUILD-SNAPSHOT

spring-cloud-aws

1.2.3.RELEASE

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.SR1

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-openfeign

 

2.0.2.RELEASE

2.0.2.BUILD-SNAPSHOT

spring-cloud-function

1.0.1.RELEASE

1.0.0.RELEASE

1.0.1.BUILD-SNAPSHOT

五、SpringCloud主要组件

Netflix-Euraka  Euraka是netflix开源的服务发现组件,一个基于 REST 的服务。包含server和client两部分 

Netflix-Ribbin  提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。

Netflix-Openfeign  Feign是一种声明式、模板化的HTTP客户端

Netflix-Hystrix 熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。

Netflix-Zuul Zuul是Netflix开源的微服务网关,提供动态路由,监控,弹性,安全等边缘服务的框架

Spring-Cloud-Config  config配置中心,配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置

Spring-Cloud-Sleuth 日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值