我在我的系统中使用 c3P0。我有与根据请求数量更改池大小相关的设计问题。
我们有基于多租户的应用程序,其中每个租户的数据库是分开的。我们使用 hibernate 进行持久化,使用 c3p0 进行连接池。每个租户的连接池是不同的。
现在,每个租户的连接池大小是静态的,并在配置中定义。但是当 1-2 个租户的负载增加时,我们需要为这些租户提供更多的数据库连接,而无需增加其他租户的池大小。
我们想要的是为这些租户动态增加连接池大小,并从其他负载较低的租户的连接池中关闭未使用的连接。
我正在考虑使用 maxIdleTime 进行连接。但是因为我对 MySql 的连接总数有限制,所以我需要一种更主动的方法,以便增加高负载连接池并减少低负载池并关闭未使用的连接。