【发布时间】:2020-12-25 02:08:18
【问题描述】:
我正在寻找关于如何从我的 GCF 函数中最好地设置对云 Sql 的数据库访问的最佳实践。我正在编写一个应用程序,在该应用程序中我大量使用 Google Cloud Functions 进行业务逻辑,并且正在使用 Google Cloud SQL (Postgres)用于后端数据库。数据库在 postges 服务器的多个实例上分片。
关于如何最好地连接,似乎有两种选择。
-
GCF 允许直接访问 Cloud SQL。在这种情况下,我似乎可以为用于执行查询的函数创建一个连接池,但由于我不知道该函数将在内存中保留多长时间,因此不清楚要配置多少个连接。我不确定这将如何工作?我知道每个函数一次使用 1 个连接,但是这将如何扩展?如果我收到大量查询,这会成为瓶颈吗?为了获得最佳效率,我肯定想使用某种连接池。
-
我可以使用 postgres 客户端库创建一个专用的 http 服务器(我使用 node.js),并让 GCF 函数调用 http 服务器,该服务器又调用 Cloud SQL。该服务器可以处理连接池并全天候 24/7 运行,并且在扩展大量查询时似乎更自然。但是,它确实在此过程中添加了额外的网络调用。我可以在 Google Cloud Run 中运行它或通过 app-engine 设置。
我正在寻找可以提供最佳性能并随着我的应用扩展而扩展的最佳实践。
我曾尝试在网上对此进行研究,但没有找到任何关于什么是最好的真正建议或文章……只是“如何”文章。
感谢任何反馈。
【问题讨论】:
标签: google-cloud-functions google-cloud-sql google-cloud-run