一个应用程序可以从其他应用程序窃取数据库连接吗?

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

我在wildfy上部署了两个Spring Boot应用程序。在每个应用程序中使用hikaricp,最大池大小为20。在高负载下,我看到我的第一个应用程序使用了池中的所有连接(活动计数20),第二个应用程序仅使用4(活动计数4),但是当第二个应用程序尝试使用获得连接它有一个例外:连接不可用,请求在30000ms后超时。第二个应用程序是否可能尝试从第一个应用程序cp获得连接?!

java spring-boot wildfly hikaricp
1个回答
1
投票

我将考虑两种情况并分享我所知道的:

  1. 两个应用程序都在同一应用程序服务器上(Wildfly)

如果您在应用程序服务器中具有通用的连接池定义,那么请确保两个应用程序共享该连接池。

注意:虽然在我看来不是这样,因为我不确定您的部署体系结构。因此,让我们看看下一种可能性。

  1. 隔离的连接池上的每个应用程序(独立的服务器)

一个应用程序不能访问或受另一应用程序的连接池限制。

尽管可能发生的情况是您用尽了[[物理数据库连接]]-应用程序级别的连接池打开了与数据库的物理连接。您的应用程序的两个连接池都在执行此操作。每个数据库系统都有一个配置,该配置可设置最大(物理)连接限制-客户端一次可以与数据库建立多少物理连接。例如,在MySQL中,您可以找到并修改max_connections配置参数,如here所示。

可以找到一些有关物理连接和逻辑连接的信息here

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