【发布时间】:2016-12-20 06:59:44
【问题描述】:
我对此比较陌生,但我设置了一个 Tomcat 集群(使用来自 httpd 的 mod_proxy)和会话复制(单独的 redis 服务器)以实现容错。
我有几个关于此设置的问题:
-
我的应用程序(spring/hibernate)每个用户都有不同的数据库。所以这里的问题是数据源(使用spring和hibernate进行持久化)是在Tomcat级别创建的。因此,我所做的任何连接池都将在服务器级别。
根据集群配置,Tomcat 实例将创建自己的连接池。
我想知道是否可以在集群级别使用 Tomcat 进行连接池,即有没有办法确保集群中的所有服务器都使用共享连接池?
-
由于性能问题,我不想在每个 Tomcat 实例上配置
DataSource。在集群设置之前,应用程序部署在单个服务器上,并且配置了DataSource,使得每个DataSource只允许连接池中的几个 (50) 连接。现在在集群环境中,我无法在每个 Tomcat 上创建或拆分这些数量的连接,并且节点的动态注册也会产生更多问题。我还想知道,如果连接池不可能或效率低下,是否有其他解决方案可以解决这个问题?
【问题讨论】:
标签: apache tomcat connection-pooling mod-proxy