Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理(configuration management),服务发现(service discovery),断路器(circuit breakers),智能路由(intelligent routing),微代理(micro-proxy),控制总线(control bus),一次性令牌(one-time tokens),全局锁定(global locks),领导选举(leadership election,),分布式会话(distributed sessions),集群状态(cluster state))。 分布式系统的协调导致样板模式,使用Spring Cloud开发人员可以快速实现这些模式的服务和应用程序。 适用于任何分布式环境,包括开发人员自己的笔记本电脑,裸机数据中心和Cloud Foundry等托管平台。
目录
5.Spring Cloud Open Service Broker
12.Spring Cloud Stream App Starters
14.Spring Cloud Task App Starters
一.特征
Spring Cloud专注于为典型用例提供良好的开箱即用体验,并为其他用例提供可扩展性机制。
-
分布式/版本化配置(Distributed/versioned configuration)
-
服务注册与发现(Service registration and discovery)
-
路由(Routing)
-
服务间通信/调用(Service-to-service calls)
-
负载均衡(Load balancing)
-
断路器/熔断器(Circuit Breakers)
-
全局锁(Global locks)
-
领导选举和集群状态(Leadership election and cluster state)
-
分布式消息(Distributed messaging)
Spring Cloud采用非常简单的方法,通常只需更改类路径和/或注释即可获得许多功能。下面是discovery client的示例应用程序:
@SpringBootApplication
@EnableDiscoveryClient
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
二.主要项目
1.Spring Cloud Config
由git存储库支持的集中式外部配置管理。配置资源直接映射到Spring环境,但如果需要,也可以由非Spring应用程序进行配置。
2.Spring Cloud Netflix
与Netflix的各种OSS组件集成(Eureka、Hystrix、Zuul、Archaius等)。
3.Spring Cloud Bus
用于将服务和服务实例与分布式消息连接在一起的事件总线。用于集群环境中传播状态的更改(例如配置更改事件)。
4.Spring Cloud Cloudfoundry
将应用程序与Pivotal Cloud Foundry集成。 提供服务发现实现,makes it easy to implement SSO and OAuth2 protected resources.
5.Spring Cloud Open Service Broker
为构建实现开放服务代理API的服务代理提供了一个起点。
6.Spring Cloud Cluster
为Zookeeper、Redis、Hazelcast、提供抽象和实现的领导选举和常见的有状态模式。
7.Spring Cloud Consul
使用Hashicorp Consul进行服务发现和配置管理。
8.Spring Cloud Security
提供对负载均衡的OAuth2 rest客户机和Zuul代理中的身份验证头中继的支持。
9.Spring Cloud Sleuth
针对SpringCloud应用程序的分布式跟踪,兼容Zipkin、HTrace和基于日志的(如Elk)跟踪。
10.Spring Cloud Data Flow
为modern runtimes上的可组合微服务应用程序提供的云本地编排服务。易于使用的DSL、拖放GUI和rest - api一起简化了基于微服务的数据管道的整体编排。
11.Spring Cloud Stream
轻量级事件驱动的微服务框架,用于快速构建可以连接到外部系统的应用程序。使用Apache Kafka或RabbitMQ在Spring引导应用程序之间发送和接收消息的简单声明模型。
12.Spring Cloud Stream App Starters
Spring Cloud Stream App Starters是基于Spring Boot的Spring Integration应用程序,可提供与外部系统的集成。
13.Spring Cloud Task
一种短期微服务框架,用于快速构建执行有限数据处理的应用程序。简单的声明性功能,用于将功能性和非功能性功能添加到spring启动应用程序中。
14.Spring Cloud Task App Starters
Spring Cloud Task App Starters是Spring Boot应用程序,可能是任何进程,包括不能永久运行的Spring Batch作业,它们在有限的数据处理期后结束/停止。
15.Spring Cloud Zookeeper
使用Apache Zookeeper进行服务发现和配置管理。
16.Spring Cloud AWS
易于与托管的Amazon Web服务集成。它提供了一种使用众所周知的Spring习惯用法和API(如消息传递或缓存API)与AWS提供的服务进行交互的方便方法。开发人员可以围绕托管服务构建应用程序,而不必关心基础设施或维护。
17.Spring Cloud Connectors
使各种平台中的PaaS应用程序更容易连接到后台服务,如数据库和消息代理(该项目以前称为“Spring Cloud”)。
18.Spring Cloud Starters
Spring Boot风格的入门项目,可以简化Spring Cloud用户的依赖管理。 (作为项目停止并在Angel.SR2之后与其他项目合并。)
19.Spring Cloud CLI
Spring Boot CLI插件,用于在Groovy中快速创建Spring Cloud组件应用程序
20.Spring Cloud Contract
Spring Cloud Contract是一个包含解决方案的伞形项目,其中包含帮助用户成功实施消费者驱动合同方法的解决方案。
21.Spring Cloud Gateway
Spring Cloud Gateway是一种基于Project Reactor的智能可编程路由器。
22.Spring Cloud OpenFeign
Spring Cloud OpenFeign通过自动配置和Spring环境以及其他Spring编程模型习惯用法,提供Spring Boot应用程序的集成。
23.Spring Cloud Pipelines
Spring Cloud pipeline提供了一个固定的部署管道,它提供了一些步骤,以确保您的应用程序可以以零停机方式部署,并且可以轻松地回滚出问题。
24.Spring Cloud Function
Spring Cloud Function通过函数促进业务逻辑的实现。 它支持无服务器提供商之间的统一编程模型,以及独立运行(本地或PaaS)的能力。