1. RDS 支持

在上一篇关于 EC2 的文章之后,现在我们来聊聊关系型数据库服务(RDS)。

1.1. 简单配置

Spring Cloud AWS 能通过指定 RDS 数据库标识符和主密码,自动创建 DataSource 用户名、JDBC 驱动和完整 URL 都由 Spring 自动解析。

假设你的 AWS 账户中有一个 RDS 实例,标识符为 spring-cloud-test-db,主密码是 se3retpass,那么只需在 application.properties 中添加一行即可创建 DataSource

cloud.aws.rds.spring-cloud-test-db.password=se3retpass

如果需要覆盖 RDS 的默认值,还可以添加以下三个属性:

cloud.aws.rds.spring-cloud-test-db.username=testuser
cloud.aws.rds.spring-cloud-test-db.readReplicaSupport=true
cloud.aws.rds.spring-cloud-test-db.databaseName=test

1.2. 自定义数据源

在非 Spring Boot 应用或需要自定义配置的场景下,**我们也可以通过 Java 配置方式创建 DataSource**:

@Configuration
@EnableRdsInstance(
  dbInstanceIdentifier = "spring-cloud-test-db", 
  password = "se3retpass")
public class SpringRDSSupport {

    @Bean
    public RdsInstanceConfigurer instanceConfigurer() {
        return () -> {
            TomcatJdbcDataSourceFactory dataSourceFactory
             = new TomcatJdbcDataSourceFactory();
            dataSourceFactory.setInitialSize(10);
            dataSourceFactory.setValidationQuery("SELECT 1");
            return dataSourceFactory;
        };
    }
}

⚠️ 注意:必须添加正确的 JDBC 驱动依赖!

2. 总结

本文探讨了访问 AWS RDS 服务的多种方式。在系列文章的最后一篇中,我们将介绍 AWS 消息传递支持。

所有示例代码可在 GitHub 上找到。


原始标题:Spring Cloud AWS – RDS