使用 HikariCP 和 AWS Aurora Serverless 的连接池配置

Posted

技术标签:

【中文标题】使用 HikariCP 和 AWS Aurora Serverless 的连接池配置【英文标题】:Connection Pooling configuration with HikariCP and AWS Aurora Serverless 【发布时间】:2019-10-16 16:17:12 【问题描述】:

我正在使用 Spring Boot 创建微服务应用程序。所有这些微服务都将连接到单个数据库 AWS Aurora Serverless。我计划使用 HikariCP 在我的应用程序中配置连接池。根据我的初步研究,Aurora Serverless 会自动管理连接池。我的问题如下。

    我还需要使用 HikariCP 在我的微服务中配置连接池吗?如果是,考虑到这些是共享同一数据库的微服务,spring boot application.yml 中的推荐配置是什么?

    如果我的微服务不需要连接池配置,我应该禁用它吗?而且,我应该怎么做我的application.yml。

我有初始 hikaricp 配置,如下面的代码所示

Springboot版本为1.5.7.RELEASE

application.yml
spring:
 datasource:
 type: com.zaxxer.hikari.HikariDataSource
 hikari:
   connection-timeout: 30000
   minimum-idle: 30
   maximum-pool-size: 200
   idle-timeout: 30000    

... database details (url, password, etc...)

【问题讨论】:

【参考方案1】:

连接池仍然有用,因为建立从您的应用到其连接池的连接是有成本的。

不同之处在于,当您在很长一段时间内(夜间/周末/无活动期间)没有任何活动或不需要速度时,您应该将 minimum-idle 参数设置为零。 这将确保连接数降至零,并使您的极光无服务器数据库进入暂停状态。 暂停时,您只需支付存储费用。

【讨论】:

以上是关于使用 HikariCP 和 AWS Aurora Serverless 的连接池配置的主要内容,如果未能解决你的问题,请参考以下文章

Aurora依托AWS加速Aurora Driver的开发

未执行 Aurora 目标的 AWS Glue Pre 和 Post 操作

Kafka 连接设置以使用 AWS MSK 从 Aurora 发送记录

AWS RDS Aurora - 如何使用 PgAdmin 进行连接?

如何使用 aws cloudformation 或 aws cdk 设置 aws aurora mysql 表?

AWS Aurora Serverless RdsDataClient unicode 问题