0%

Spring Cloud

Release Train Version: Hoxton.SR8

Supported Boot Version: 2.3.3.RELEASE

用于Amazon Web服务的Spring Cloud是Spring Cloud伞项目的一部分,它简化了与托管的Amazon Web服务的集成。它提供了一种与AWS提供的服务交互的方便方法,使用众所周知的Spring习惯用法和API,比如消息传递或缓存API。开发人员可以围绕托管的服务构建他们的应用程序,而不必关心基础设施或维护。

注意

Spring Cloud是在非限制性Apache 2.0许可下发布的。如果您想对这部分文档有所贡献,或者如果您发现了错误,请在github项目中找到源代码和问题跟踪器。

使用AmazonWeb服务

Amazon提供了一个Java SDK来对Amazon Web服务平台提供的所有服务发出请求。使用SDK,应用程序开发人员仍然必须将SDK集成到他们的应用程序中,并使用大量与基础设施相关的代码。Spring Cloud AWS为已经集成了基于Spring的模块的应用程序开发人员提供了使用服务的功能,并尽可能避免了与基础设施相关的代码。Spring Cloud AWS模块提供了一个模块集,以便应用程序开发人员可以根据他们对特定服务的需求来安排依赖项。下面的图表提供了所有Spring Cloud AWS模块的一般概述,以及对各个Spring Cloud AWS服务的服务支持。

Overview

  • Spring Cloud AWS Core是Spring Cloud AWS的核心模块,提供基本的安全性和配置设置服务。开发人员不会直接使用这个模块,而是通过其他模块使用。核心模块支持基于云的环境配置,提供对基于实例的EC2元数据和特定于整个应用程序堆栈的CloudFormation元数据的直接访问。
  • Spring Cloud AWS Context通过Spring资源加载器抽象提供对简单存储服务的访问。此外,开发人员可以使用简单的电子邮件服务和Spring邮件抽象来发送电子邮件。此外,开发人员可以使用Spring缓存支持和ElastiCache缓存服务引入声明式缓存。
  • Spring Cloud AWS JDBC为关系数据库服务提供了自动数据源查找和配置,可以与JDBC或Spring提供的任何其他支持数据访问技术一起使用。
  • Spring Cloud AWS Messaging使开发人员能够使用简单的队列服务接收和发送消息,以进行点对点通信。通过集成简单通知服务来支持发布-订阅消息传递。
  • Spring Cloud AWS Parameter Store Configuration使Spring Cloud应用程序能够使用AWS参数存储作为Bootstrap Property Source,与为Spring Cloud配置服务器或代理的键值存储提供的支持相当。
  • Spring Cloud AWS Secrets Manager Configuration允许Spring Cloud应用程序使用AWS Secrets Manager作为引导属性源,与为Spring Cloud配置服务器或领事的键值存储提供的支持类似。

基本设置

在使用Spring Cloud AWS模块之前,开发人员必须选择依赖项并配置Spring Cloud AWS模块。接下来的章节描述了Spring AWS云项目的依赖管理和基本配置。

SpringCloudAWS的maven依赖项管理

Spring Cloud AWS模块依赖项可以通过对特定模块的直接配置在Maven中直接使用。Spring Cloud AWS模块包括Spring模块的所有传递依赖项,以及操作这些模块所需的Amazon SDK。一般的依赖项配置是这样的:

1
2
3
4
5
6
7
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-aws-context</artifactId>
<version>{spring-cloud-version}</version>
</dependency>
</dependencies>

通过将模块名替换为各自的模块名,可以包含不同的模块(例如spring-cloud-aws-messaging,而不是spring-cloud-aws-context)

上面的示例使用Maven中央存储库。要使用Spring Maven存储库(例如用于里程碑或开发人员快照),您需要在Maven配置中指定存储库的位置。完整的版本:

1
2
3
4
5
6
7
<repositories>
<repository>
<id>io.spring.repo.maven.release</id>
<url>https://repo.spring.io/release/</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>

里程碑:

1
2
3
4
5
6
7
<repositories>
<repository>
<id>io.spring.repo.maven.milestone</id>
<url>https://repo.spring.io/milestone/</url>
<snapshots><enabled>false</enabled></snapshots>
</repository>
</repositories>

Cloud环境

管理Cloud环境

Messaging

缓存

JDBC数据访问

发送邮件

资源处理

Cloud监测指标

配置属性