私はPostgreSQLの4人の作業者の間にbi-direction replicationを設定しています。私は、Goデータベース接続プールが4つすべての接続を処理するようにしたいと思います。それらはすべて複数の接続を作成し、任意のクエリに対してランダムに選択し、接続が切断されたときにフェイルオーバーすることができなければなりません。これはGoデータベースライブラリで実行可能ですか?または、ちょうどpgBouncerを使用して、そのバランスを処理するためにdatabase/sqlまたはpgxを取得しようとしないでください。クラスタ内の複数のホストへの接続を管理するGolangデータベース接続プールを取得するにはどうすればよいですか?
1
A
答えて
2
sql.Open(driverName, dataSourceName)
(dataSourceName
はデータベースに接続するためのドライバ固有のconfiguration
)を呼び出すたびに、golangの接続プールが作成されます。 configuration
(ホストアドレス、スキーマ、ユーザー名などを変更する)を変更するたびに、新しい接続を開く必要があるため、新しい接続プールが作成されます。ドライバが負荷分散を処理できる場合は、dataSourceName
に設定する必要があります。高可用性構成の場合はMariaDB Connector/Jです。
AFAIK、lib/pqおよびpgxではまだロードバランシングはサポートされていません。あなたのケースでは、クラスタ内のデータベースサーバに接続するには、サーバごとに異なる接続プールを開いてから、接続を管理してロードバランシングを手動で実行する必要があります。このアプローチは、多くの作業が必要です。私はpgBouncerを使う方が良いと思います。
+0
偉大な答え、ありがとう! – theory
関連する問題
- 1. 接続プールからデータベース接続を取得する
- 2. spring jpaでデータベース接続プールを管理する方法は?
- 3. hikari-cp接続プールからネイティブ接続を取得する
- 4. 接続されたクライアントのホスト名をjavaで取得するにはどうすればよいですか?
- 5. データベースなしのインスタンスにフォーム/ golangの接続プールを取得するにはどうすればよいですか?
- 6. Rails4:ActiveRecord接続プールのアイドル状態の接続数を取得するにはどうすればよいですか?
- 7. は、私は、データベースへの接続時に接続プールを使用する必要があるアプリケーションを持って動的にMySQLの接続/ J接続プール
- 8. Windowsソケット(C++)から接続ホストのIPアドレスを取得するにはどうすればよいですか?
- 9. Golang TCPサーバーへの複数の接続
- 10. 管理者4.3.1でSQLiteデータベースに接続するにはどうすればよいですか?
- 11. データベース接続プール
- 12. SFTP接続ホストをEC2インスタンスにどのように管理しますか?
- 13. Hector APIでCassandraクラスタへの接続をクローズするにはどうすればよいですか?
- 14. .NetへのOracle接続 - 接続プール
- 15. コンピュータにデータベースを接続する際に、接続文字列はどうすればよいですか?
- 16. JBossでプログラムで接続プールのサイズを取得するには?
- 17. 接続プール内の接続の解放。
- 18. Gin + Golang + DB接続プール
- 19. 別のスキーマ/ DBアプローチによるマルチテナント接続プールの管理
- 20. データベースをAPI.AIに接続するにはどうすればよいですか?
- 21. laravelで複数のホスト/データベースに接続する方法
- 22. データベース接続を解決するにはどうすればよいですか?
- 23. DBCP接続プールでのブロック(オープンおよびクローズ接続)。 OpenEJBのデータベース接続プーリングはプラガブルですか?
- 24. Oracleデータベースでjdbcで接続プールを使用するにはどうすればいいですか?
- 25. クラスタ環境での接続プール
- 26. 接続プーリングで必要な接続数を決定するにはどうすればよいですか。
- 27. アクティブレコードに複数のデータベースへの接続
- 28. JBossデータベース接続プール
- 29. Java:JDBCデータベース接続プール
- 30. プールへの接続を返す方法
golangの接続プールは 'configuration'になります(スキーマごとにPostgreSQLの場合、MySQLでは同じサーバで複数のデータベース/スキーマにアクセスするために同じ接続を使用できます)。複数のサーバーに接続する必要がある場合は、サーバーごとに異なる接続プールを作成し、手動で管理する必要があります。 IMHO、あなたの場合は、pgBouncerを使うべきです。 – putu
@putuのように見えます。私はそれを受け入れることができる答えに入れたいですか? – theory