如何在Amazon-ECS实例之间共享连接池

问题描述 投票:0回答:1

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

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

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

java amazon-ecs connection-pool
1个回答
1
投票

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

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

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

如果您有很多实例(EC2 实例、ECS 任务等),并且这会造成连接过多的问题,您也可以考虑 Amazon RDS 代理,尽管这涉及其他服务和额外成本:https:// /aws.amazon.com/rds/proxy/

© www.soinside.com 2019 - 2024. All rights reserved.