SpringCloud 总览
2018-12-31 本文已影响0人
glmapper_2018
本系列基于Spring Cloud **Finchley SR2 & SOFABoot 3.0.0
Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、leader选举、分布式session、集群状态)。分布式系统的协调导致了样板模式, 使用 Spring Cloud 开发人员可以快速地支持实现这些模式的服务和应用程序。它们可以在任何分布式环境中很好地工作,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。
系列文章
- SpringCloud-Eureka 服务注册
- SpringCloud-Eureka 服务发现
- Spring Cloud-Eureka Client 原理解析
- SpringCloud-声明式服务调用 Feign
- SpringCloud-负载均衡器 Ribbon
- SpringCloud-配置中心 Config
- SpringCloud-Spring Cloud Context
- 持续更新 ...
Features
Spring Cloud专注于为典型用例提供良好的开箱即用体验,并为其他用户提供可扩展性机制。
- Distributed/versioned configuration 分布式/版本化配置
- Service registration and discovery 服务注册和发现
- Routing 智能路由
- Service-to-service calls service-to-service调用
- Load balancing 负载均衡
- Circuit Breakers 断路器
- Global locks 全局锁
- Leadership election and cluster state leader选举和集群状态管理
- Distributed messaging 分布式消息
主要项目
项目名称<br /> | 项目职能<br /> |
---|---|
Spring Cloud Config<br /> | Spring Cloud 提供的分布式配置中心,为外部配置提供了客户端和服务端的支持。<br /> |
Spring Cloud Netflix<br /> | 与各种Netflix OSS组件集成(Eureka,Hystrix,Zuul,Archaius等)。<br /> |
Spring Cloud Bus<br /> | 用于将服务和服务实例与分布式消息传递连接在一起的事件总线。用于跨群集传播状态更改(例如,配置更改事件)。<br /> |
Spring Cloud Cloudfoundry<br /> | 提供应用程序与 Pivotal Cloud Foundry 集成。提供服务发现实现,还可以轻松实现受SSO和OAuth2保护的资源。<br /> |
Spring Cloud Open Service Broker<br /> | 为构建实现 Open service broker API 的服务代理提供了一个起点。 <br /> |
Spring Cloud Cluster<br /> | 提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。<br /> |
Spring Cloud Consul<br /> | 封装了Consul操作,consul 是一个服务发现与配置工具,与Docker容器可以无缝集成。<br /> |
Spring Cloud Security<br /> | 基于spring security的安全工具包,为你的应用程序添加安全控制。在Zuul代理中为负载平衡的OAuth2 rest客户端和身份验证头中继提供支持。<br /> |
Spring Cloud Sleuth<br /> | Spring Cloud 提供的分布式链路跟踪组件,兼容zipkin、HTracer和基于日志的跟踪(ELK)<br /> |
Spring Cloud Data Flow<br /> | 大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。<br /> |
Spring Cloud Stream<br /> | 数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。<br /> |
Spring Cloud CLI<br /> | 基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。<br /> |
Spring Cloud OpenFeign<br /> | 一个http client客户端,致力于减少http client客户端构建的复杂性。<br /> |
Spring Cloud Gateway<br /> | Spring Cloud 提供的网关服务组件<br /> |
Spring Cloud Stream App Starters<br /> | Spring Cloud Stream App Starters是基于Spring Boot的Spring 集成应用程序,可提供与外部系统的集成。<br /> |
Spring Cloud Task | 提供云端计划任务管理、任务调度。<br /> |
Spring Cloud Task App Starters<br /> | Spring Cloud任务应用程序启动器是SpringBoot应用程序,它可以是任何进程,包括不会永远运行的Spring批处理作业,并且在有限的数据处理周期后结束/停止。<br /> |
Spring Cloud Zookeeper<br /> | 操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。<br /> |
Spring Cloud AWS<br /> | 提供与托管的AWS集成<br /> |
Spring Cloud Connectors<br /> | 便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。<br /> |
Spring Cloud Starters<br /> | Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。<br /> |
Spring Cloud Contract<br /> | Spring Cloud Contract是一个总体项目,其中包含帮助用户成功实施消费者驱动合同方法的解决方案。<br /> |
Spring Cloud Pipelines<br /> | Spring Cloud Pipelines提供了一个固定意见的部署管道,其中包含确保您的应用程序可以零停机方式部署并轻松回滚出错的步骤。<br /> |
Spring Cloud Function<br /> | Spring Cloud Function通过函数促进业务逻辑的实现。 它支持Serverless 提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力。<br /> |
SpringCloud 与 SpringBoot 版本兼容关系
Release Train | Boot Version |
---|---|
Greenwich<br /> | 2.1.x<br /> |
Finchley<br /> | 2.0.x<br /> |
Edgware<br /> | 1.5.x<br /> |
Dalston<br /> | 1.5.x<br /> |
SpringCloud 与子工程版本关系
Component | Edgware.SR5 | Finchley.SR2 | Finchley.BUILD-SNAPSHOT |
---|---|---|---|
spring-cloud-aws<br /> | 1.2.3.RELEASE<br /> | 2.0.1.RELEASE<br /> | 2.0.1.BUILD-SNAPSHOT<br /> |
spring-cloud-bus<br /> | 1.3.3.RELEASE<br /> | 2.0.0.RELEASE<br /> | 2.0.1.BUILD-SNAPSHOT<br /> |
spring-cloud-cli<br /> | 1.4.1.RELEASE<br /> | 2.0.0.RELEASE<br /> | 2.0.1.BUILD-SNAPSHOT<br /> |
spring-cloud-commons<br /> | 1.3.5.RELEASE<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-contract<br /> | 1.2.6.RELEASE<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-config<br /> | 1.4.5.RELEASE<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-netflix<br /> | 1.4.6.RELEASE<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-security<br /> | 1.2.3.RELEASE<br /> | 2.0.1.RELEASE<br /> | 2.0.1.BUILD-SNAPSHOT<br /> |
spring-cloud-cloudfoundry<br /> | 1.1.2.RELEASE<br /> | 2.0.1.RELEASE<br /> | 2.0.1.BUILD-SNAPSHOT<br /> |
spring-cloud-consul<br /> | 1.3.5.RELEASE<br /> | 2.0.1.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-sleuth<br /> | 1.3.5.RELEASE<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-stream<br /> | Ditmars.SR4<br /> | Elmhurst.SR1<br /> | Elmhurst.BUILD-SNAPSHOT<br /> |
spring-cloud-zookeeper<br /> | 1.2.2.RELEASE<br /> | 2.0.0.RELEASE<br /> | 2.0.1.BUILD-SNAPSHOT<br /> |
spring-boot<br /> | 1.5.16.RELEASE<br /> | 2.0.6.RELEASE<br /> | 2.0.7.BUILD-SNAPSHOT<br /> |
spring-cloud-task<br /> | 1.2.3.RELEASE<br /> | 2.0.0.RELEASE<br /> | 2.0.1.BUILD-SNAPSHOT<br /> |
spring-cloud-vault<br /> | 1.1.2.RELEASE<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-gateway<br /> | 1.0.2.RELEASE<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> |
spring-cloud-openfeign<br /> | 2.0.2.RELEASE<br /> | 2.0.2.BUILD-SNAPSHOT<br /> | |
spring-cloud-function<br /> | 1.0.1.RELEASE<br /> | 1.0.0.RELEASE<br /> | 1.0.1.BUILD-SNAPSHOT<br /> |
- Finchley 构建并使用Spring Boot 2.0.x,与 Spring Boot 1.5.x 不兼容。
- Dalston 和 Edgware 基于 Spring Boot 1.5.x 构建,不兼容 SpringBoot 2.0.x
- Camden 版本迭代正式结束,Dalston 将于2018年12月结束使用,Edgware 将遵循 Spring Boot 1.5.x 的生命周期结束。
- Camden 基于SpringBoot 1.4.x 构建,但是也会支持 1.5.x 版本
- Brixton 和 Angel 迭代结束时间是2017年7月,Brixton 基于SpringBoot 1.3.x ,同时也支持 1.4.x 版本
- Angel 基于 SpringBoot 1.2.x ,在某些方式不兼容 SpringBoot 1.3.x 。
- Brixton 构建在SpringBoot 1.3.x ,不兼容 SpringBoot 1.2.x 。一些基于Angel的库和大多数应用程序可以在Brixton上正常运行,但如果OAuth2具备spring-cloud-security 1.0的特性,则需要在任何地方进行更改。x被使用(它们大多在1.3.0中被移到Spring Boot中)。