首页 > 解决方案 > 如何在 Amazon-ECS 实例之间共享连接池

问题描述

我在 Amazon-ECS 上运行了 spring-boot 应用程序。使用 ECS 动态添加应用程序实例。现在每个应用程序都有 HikariCP 用于连接池。所以当我增加实例时,每个实例上的连接池不共享,这会导致问题。我该如何处理这个问题?

到目前为止,我已经尝试创建将处理连接池和查询的中间层,但这又是另一个瓶颈,我该如何扩大这个瓶颈?另一部分是使用 JNDI,这与以前的解决方案有些相似。或者调整每个集群上连接池的大小,但是当实例增加或减少时,我也希望调整这个大小。

老实说,我不知道人们如何在集群环境中处理连接池。可以做些什么来共享连接池,或者问题是应该完全共享&如果是这种情况,如何限制连接数,这样实例就不会饿死。

标签: javaamazon-ecsconnection-pool

解决方案


具有多个实例的连接池的正常做法是独立管理每个实例。

当您在 ECS 上运行 Spring Boot 应用程序的多个实例时,每个实例都需要自己的连接池,并且该连接池的参数通常不会随着实例数量的增加或减少而变化。

本质上,您决定如何使用适合每个实例的连接池参数,并确保数据库服务器可以处理您期望这些设置产生的最大连接数。


推荐阅读