Firebase 可调用函数冷启动

Firebase Callable Functions cold-start

我想使用 Firebase 可调用函数 运行 检查后端,但我担心冷启动。例如,我想检查用户是否有足够的积分来下载某个产品,但我想避免用户在这个承诺得到解决或拒绝之前等待 10 秒或更长时间,并且 运行 从前面进行这些检查-end 是没有选择的,因为任何人都可以绕过它们。

有没有一种方法可以在 Firebase 上配置一组选定的可调用函数,从而使整个体验不会让用户感到缓慢和沮丧?许多用户如果他们必须等待 10 秒(即使是第一次)可能会放弃使用我想出售的这项服务...

Is there a way to do provisioning for a selected group of callable functions on Firebase?

是的,如doc中所述,您可以使用runWith参数为给定的云函数设置最小实例数,如下所示:

exports.myCallableCloudFunction = functions
    .runWith({
      // Keep 1 instance warm
      minInstances: 1,
    })
    .https.onCall((data, context) => {
      // Cloud Function code
    });

您可以通过传递所需的值来拥有多个实例,例如minInstances: 3.

请注意,“保持最小数量的实例 运行 会产生闲置费率的计费成本。通常,保持一个闲置功能实例的温暖成本每月不到 6.00 美元”(摘自文档)。


另请注意,您需要使用此选项配置每个 Cloud Functions,据我所知,您不能将其应用于一组 Cloud Functions。