首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何获得Golang数据库连接池来管理到集群中多个主机的连接?

如何获得Golang数据库连接池来管理到集群中多个主机的连接?
EN

Stack Overflow用户
提问于 2017-04-24 23:23:13
回答 1查看 8K关注 0票数 3

我正在四个PostgreSQL工作人员之间设置PostgreSQL,我希望让Go数据库连接池处理到所有四个工作人员之间的连接。它应该能够创建到它们的多个连接,随机地为任何给定的查询选择一个,并在连接下降时失败。这在Go数据库库中是可行的吗?或者我应该使用pgBouncer,而不是试图让数据库/sqlpgx来处理这种平衡?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-04-27 03:18:09

每当您调用sql.Open(driverName, dataSourceName)时,就会在golang中创建连接池,其中dataSourceName是特定于驱动程序的configuration,用于连接数据库。每当我们更改configuration (即更改主机地址、模式、用户名等)时,我们都需要打开新的连接,从而创建新的连接池。如果驱动程序能够处理负载平衡,那么它应该在dataSourceName中进行配置,例如在MariaDB连接器/J高可用性配置中。

AFAIK,lib/pqpgx中还不支持负载平衡。在这种情况下,要连接到集群中的数据库服务器,需要为每个服务器打开不同的连接池,然后手动管理连接(并执行负载平衡)。这种方法需要做大量的工作。我认为最好使用pgBouncer。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43599172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档