我有在Amazon-ECS上运行的spring-boot应用程序。使用ECS可以动态添加应用程序实例。现在,每个应用程序都有用于连接池的HikariCP。因此,当我增加实例时,每个实例上的连接池都不会共享,这会导致问题。我该如何处理这个问题?
到目前为止,我已经尝试创建将处理连接池的中间层,并且查询将通过该中间层,但是再次这又是另一个瓶颈,如何扩展这一层?其他部分则使用JNDI来实现,这与先前的解决方案有些相似。 或调整每个群集上的连接池大小,但是当实例增加或减少时,我也希望调整此大小。
老实说,我没有任何线索,人们如何在集群环境中处理连接池。共享连接池应该怎么做,还是应该完全共享问题?如果是这样,如何设置连接数限制,以免实例陷入饥饿。
答案 0 :(得分:0)
具有多个实例的连接池的通常做法是独立管理每个实例。
当您在ECS上运行多个Spring Boot应用程序实例时,每个实例都需要自己的连接池,并且当实例数增加或减少时,该连接池的参数通常不会改变。
本质上,您确定适合每个实例的连接池参数的方式,并确保数据库服务器可以处理您希望这些设置产生的最大连接数。