发布于 2017-04-27 03:18:09
每当您调用sql.Open(driverName, dataSourceName)时,就会在golang中创建连接池,其中dataSourceName是特定于驱动程序的configuration,用于连接数据库。每当我们更改configuration (即更改主机地址、模式、用户名等)时,我们都需要打开新的连接,从而创建新的连接池。如果驱动程序能够处理负载平衡,那么它应该在dataSourceName中进行配置,例如在MariaDB连接器/J高可用性配置中。
AFAIK,lib/pq和pgx中还不支持负载平衡。在这种情况下,要连接到集群中的数据库服务器,需要为每个服务器打开不同的连接池,然后手动管理连接(并执行负载平衡)。这种方法需要做大量的工作。我认为最好使用pgBouncer。
https://stackoverflow.com/questions/43599172
复制相似问题