【发布时间】:2020-08-29 14:41:54
【问题描述】:
我目前正在使用社交网络应用程序,我需要执行搜索功能。 Firestore 不支持这类查询,所以我需要使用像 Algolia 这样的外部服务。
问题是免费计划不支持连接到谷歌自己以外的外部网站/API,所以我无法连接到 Algolia 以使我的搜索系统正常工作。
我读过很多关于开发人员因代码中的循环或错误而支付高额费用的故事,并且由于 Blaze 计划是一种即付即用计划,因此他们会根据使用情况收取费用。如果一个循环生成了 10TB 的文件,他们将为此付费。
我也知道 Blaze 计划的功能是免费的,只要它们(单独)保持在免费 Spark 计划的限制之下。
所以正如我的问题所说,有没有办法设置限制?例如,我想告诉 Firebase 将我的云函数调用限制为每月 10 万次。这样一来,它将是免费的,而且我永远无法超过 100k,因为它是有限的,这意味着我永远不会为此付费。
考虑到我现在从付费计划中唯一需要的就是与外部网络的连接。我不需要其他任何东西,因为我们才刚刚开始,而且该应用还没有投入生产,所以不需要太大的限制。
【问题讨论】:
-
我会说,对于像将内容镜像到 Algolia 这样的事情,很难编写一个意外循环。仅当您有一个触发器执行某些操作来触发自身(例如写回数据库的数据库触发器),而没有检测到适当的退出条件并提前终止时,才会发生意外循环。如果您只想将数据复制到数据库之外,并且您永远不想写回数据库,那么您编写循环的机会是 0。
-
在这种情况下我完全同意你的看法。但我们将使用许多 Firestore 工具,而不仅仅是外部连接。我们已经在不断地使用函数、数据库、存储,而且我们很快就会扩展它们并更多地使用它们。这就是我担心可能发生意外循环的地方,特别是考虑到这是我们第一次使用 Firebase 和大规模后端开发这一事实。如果我们现在有一个循环,我们将受到免费计划的限制,我们不会收到账单。但如果它发生在 Blaze 计划中,即使我们可以设法“取消”它,也会很烦人。
-
在部署到生产环境之前,有一个暂存区可能会对您有所帮助,您可以在其中测试您的代码是否存在此类错误,因为这确实很昂贵。
-
无论如何,所有 Firebase 项目也是 Google Cloud 项目,因此无论 Google Cloud 提供什么,您都可以访问。根据副本,这并不多。
-
@DougStevenson 你知道谷歌为什么禁用“支出限制”吗?
标签: firebase google-cloud-firestore algolia