java - 如何在 Amazon-ECS 实例之间共享连接池
问题描述
我在 Amazon-ECS 上运行了 spring-boot 应用程序。使用 ECS 动态添加应用程序实例。现在每个应用程序都有 HikariCP 用于连接池。所以当我增加实例时,每个实例上的连接池不共享,这会导致问题。我该如何处理这个问题?
到目前为止,我已经尝试创建将处理连接池和查询的中间层,但这又是另一个瓶颈,我该如何扩大这个瓶颈?另一部分是使用 JNDI,这与以前的解决方案有些相似。或者调整每个集群上连接池的大小,但是当实例增加或减少时,我也希望调整这个大小。
老实说,我不知道人们如何在集群环境中处理连接池。可以做些什么来共享连接池,或者问题是应该完全共享&如果是这种情况,如何限制连接数,这样实例就不会饿死。
解决方案
具有多个实例的连接池的正常做法是独立管理每个实例。
当您在 ECS 上运行 Spring Boot 应用程序的多个实例时,每个实例都需要自己的连接池,并且该连接池的参数通常不会随着实例数量的增加或减少而变化。
本质上,您决定如何使用适合每个实例的连接池参数,并确保数据库服务器可以处理您期望这些设置产生的最大连接数。
推荐阅读
- c# - 如何解决以下场景的计算逻辑中的错误以及如何在 C# 中的以下实现中删除 goto 语句
- asp-classic - Edraw Office 组件的 .Save() 方法在我的客户端服务器应用程序中不起作用
- javascript - 获取flex元素第一行的元素个数
- sql-server - 如何从 XQuery 搜索中排除特定节点?
- javascript - Onclick 功能仅在第二次单击时起作用 - React js
- javascript - 如何通过 ActivatedRouteSnapshot 访问组件?
- android - 用于文本选择的浮动工具栏 Jetpack Compose
- r - 无法创建 1 列数据框的 selectInput
- reactjs - 有没有办法在 ReactJS 中动态设置对象?
- python - 在 Python 中使用 MatLab CNN 模型进行迁移学习