SpringCloud 总览

2019 Java 开发者跳槽指南.pdf (吐血整理)….>>>

本系列基于Spring Cloud Finchley SR2 & SpringBoot 2.0.7.RELEASE

Spring Cloud 为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、leader选举、分布式session、集群状态)。分布式系统的协调导致了样板模式, 使用 Spring Cloud 开发人员可以快速地支持实现这些模式的服务和应用程序。它们可以在任何分布式环境中很好地工作,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。

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                            分布式消息

主要项目

项目名称
项 目职能
Spring Cloud Config
Spring Cloud 提供的分布式配置中心,为外部配置提供了客户端和服务端的支持。
Spring Cloud Netflix
与各种Netflix OSS组件集成(Eureka,Hystrix,Zuul,Archaius等)。
Spring Cloud Bus
用于将服务和服务实例与分布式消息传递连接在一起的事件总线。用于跨群集传播状态更改(例如,配置更改事件)。
Spring Cloud Cloudfoundry
提供应用程序与 Pivotal Cloud Foundry 集成。提供服务发现实现,还可以轻松实现受SSO和OAuth2保护的资源。
Spring Cloud Open Service Broker
为构建实现 Open service broker API 的服务代理提供了一个起点。    
Spring Cloud Cluster
提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。
Spring Cloud Consul
封装了Consul操作,consul 是一个服务发现与配置工具,与Docker容器可以无缝集成。
Spring Cloud Security
基于spring security的安全工具包,为你的应用程序添加安全控制。在Zuul代理中为负载平衡的OAuth2 rest客户端和身份验证头中继提供支持。
Spring Cloud Sleuth
Spring Cloud 提供的分布式链路跟踪组件,兼容zipkin、HTracer和基于日志的跟踪(ELK)
Spring Cloud Data Flow
大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。
Spring Cloud Stream
数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。
Spring Cloud CLI
基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
Spring Cloud OpenFeign
一个http client客户端,致力于减少http client客户端构建的复杂性。
Spring Cloud Gateway
Spring Cloud 提供的网关服务组件
Spring Cloud Stream App Starters
Spring Cloud Stream App Starters是基于Spring Boot的Spring 集成应用程序,可提供与外部系统的集成。
Spring Cloud Task 提供云端计划任务管理、任务调度。
Spring Cloud Task App Starters
Spring Cloud任务应用程序启动器是SpringBoot应用程序,它可以是任何进程,包括不会永远运行的Spring批处理作业,并且在有限的数据处理周期后结束/停止。
Spring Cloud Zookeeper
操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。
Spring Cloud AWS
提供与托管的AWS集成
Spring Cloud Connectors
便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。
Spring Cloud Starters
Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。
Spring Cloud Contract
Spring Cloud Contract是一个总体项目,其中包含帮助用户成功实施消费者驱动合同方法的解决方案。
Spring Cloud Pipelines
Spring Cloud Pipelines提供了一个固定意见的部署管道,其中包含确保您的应用程序可以零停机方式部署并轻松回滚出错的步骤。
Spring Cloud Function
Spring Cloud Function通过函数促进业务逻辑的实现。 它支持Serverless 提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力。

SpringCloud 与 SpringBoot 版本兼容关系

Release Train Boot Version
Greenwich
2.1.x
Finchley
2.0.x
Edgware
1.5.x
Dalston
1.5.x

SpringCloud 与子工程版本关系

Component Edgware.SR5 Finchley.SR2 Finchley.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
  • 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中)。


原文始发于微信公众号(glmapper工作室):SpringCloud 总览