Azure Cosmos DB for PostgreSQL 中的连接池
适用对象:PostgreSQL 的 Azure Cosmos DB (由 PostgreSQL 的 Citus 数据库扩展提供支持)
建立新连接需要时间。 这会对多数应用程序产生不利影响,因为这些应用程序会请求建立很多短时的连接。 建议使用连接池程序,既可以减少空闲事务,又可以重用现有连接。 要了解详细信息,请访问博客文章。
你可以运行自己的连接池程序,也可以使用 Azure 托管的 PgBouncer。
托管 PgBouncer
使用 PgBouncer 之类的连接池程序时,可以一次性将更多客户端连接到协调器节点。 应用程序连接到池程序,池程序将命令中继到目标数据库。
当客户端通过 PgBouncer 连接时,可在数据库中主动运行的连接数不变。 相反,PgBouncer 会将超出的连接排入队列,并在数据库准备就绪时运行这些连接。
Azure Cosmos DB for PostgreSQL 现在为群集提供 PgBouncer 托管实例。 它支持多达 2,000 个客户端同时连接。 此外,如果群集已启用高可用性 (HA),则其托管的 PgBouncer 也是如此。
若要通过 PgBouncer 连接,请按照以下步骤操作:
- 在 Azure 门户中转到群集的“连接字符串”页。
- 选中“PgBouncer 连接字符串”旁的复选框。 列出的连接字符串会发生更改。
- 将客户端应用程序更新为使用新的字符串进行连接。
Azure Cosmos DB for PostgreSQL 允许将托管 PgBouncer 参数配置为协调器节点参数。
后续步骤
详细了解 Azure Cosmos DB for PostgreSQL 的限制。