5

私の会社では、 pgPool-II の「フェイルオーバー」「ロード バランシング」 (そして最終的には「レプリケーション」 ) 機能を活用するためにpgPool-IIを使用する予定です。

ここでは、 Jakarta Tomcat Connector (JK)または同様のサービスを使用してクライアントとこれらのTomcatサーバー間のリンク (負荷分散) を行うサーバー クラスターによってホストされるJ2EE Tomcat Web アプリケーションがあるとします。また、Tomcatサーバー クラスターとデータベース クラスター間のリンクを行うためにpgPool-IIを使用するPostgreSQL 9.3データベースのクラスターがあると考えています。私たちのアプリケーションは、各ユーザーが (もちろんデータベースに関して) 異なる役割に関連付けられているマルチユーザー アプリケーションです。

pgPool-IIはpostgreSQLと同じプロトコルを使用しているため、通常はデータベースに接続するのと同じように、プールに接続するだけでよいことを知りました。

このメールのコピーでは、プール層が 2 つあるのは無意味なので、pgPool-IIに加えてJDBC Tomcat プールを使用する必要がないことがわかりました。プール タスクをJDBC Tomcat の poolに委譲するか、pgPool-IIに委譲しますか?

だから私の最後の質問は次のとおりです。

  • その場合、 JDBCを使用してpgPool-IIから適切に接続を取得するには、ユーザーがSQLリクエストを実行する必要があるたびに、 pgPool-IIへの新しい接続を要求する必要がありますか? パフォーマンスに影響しませんか?

  • 最高のパフォーマンスを得るために、プール タスクを担当するのはどの部分ですか? JDBC Tomcat、 pgPool -II 、またはpgBouncerのような別のサービスですか? 最善のアプローチは何ですか?

前もって感謝します!

PS : 不明な点がある場合はお知らせください。投稿を編集します。

4

0 に答える 0