gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 09:21:14 26 4
gpt4 key购买 nike

我在 wildfy 上部署了两个 Spring boot 应用程序。在每个应用程序中都使用 hikaricp,最大池大小为 20。在高负载下,我看到,我的第一个应用程序使用池中的所有连接( Activity 计数 20),第二个应用程序仅使用 4 个连接( Activity 计数 4),但是当第二个应用程序尝试获取连接时出现异常:连接不可用,请求在 30000 毫秒后超时。第二个应用程序是否有可能尝试从第一个应用程序 cp 获取连接?!

最佳答案

我将考虑两个案例并分享我所知道的:

  1. 两个应用程序位于同一应用程序服务器 (Wildfly)

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

注意:尽管在我看来情况并非如此,因为我不确定您的部署架构。那么,让我们看看下一种可能性。

  • 每个应用程序都位于独立的连接池(单独的服务器)上
  • 一个应用程序无法访问另一个应用程序的连接池或受其限制。

    但可能发生的情况是,您的物理数据库连接用完 - 应用程序级别的连接池打开到数据库的物理连接。您的应用程序的连接池都在这样做。每个数据库系统都有一个配置,用于设置最大(物理)连接限制 - 客户端一次可以与数据库建立多少个物理连接。

    例如,在 MySQL 中,您可以找到并修改 max_connections 配置参数,如下所示 here

    有关物理连接与逻辑连接的一些信息可以在 here 中找到。 .

    关于java - 一个应用程序可以窃取其他应用程序的数据库连接吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58678740/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com