我的公司计划使用 pgPool-II ,以使其“故障转移”,“负载均衡”受益(最终“复制”)功能。
我们在这里考虑我们有一个由服务器集群托管的 J2EE Tomcat Web应用程序,其中使用 Jakarta Tomcat Connector(JK)或类似服务来实现之间的链接客户端和这些 Tomcat 服务器(负载平衡)。此外,我们认为我们有一个 PostgreSQL 9.3 数据库集群,其中 pgPool-II 用于执行 Tomcat 服务器集群之间的链接数据库集群。我们的应用程序是一个多用户应用程序,每个用户都与不同的角色相关联(当然,就数据库而言)。
我了解到 pgPool-II 使用与 postgreSQL 相同的协议,所以要连接到我们只需连接到它的池,因为我们通常连接到数据库,正确?
在this mail copy中,我发现拥有2个池层是没用的,因此除了 pgPool-II 之外,不需要使用 JDBC Tomcat池。我们将池任务委托给 JDBC Tomcat池,我们将它委托给 pgPool-II ,对吧?
所以我最后的问题是:
在这种情况下,如何正确地从 pgPool-II 与 JDBC 建立联系,我必须简单地要求与 pgPool-II <的新连接/ strong>每次用户需要执行 SQL 请求?不影响性能?
哪个部分应该负责池任务才能获得最佳性能? JDBC Tomcat , pgPool-II 或 pgBouncer 等其他服务?什么是最好的方法?
提前致谢!
PS :如果有些问题不明确,请告诉我,我会编辑我的帖子。