我想使用Firebase可调用函数在后端运行检查,但我担心冷启动。例如,我想检查用户是否有足够的信用来下载某个产品,但我希望避免用户等待10秒或更长时间才能解决或拒绝这一承诺,并且从前端运行这些检查是不可能的,因为任何人都可以绕过它们。
有没有一种方法可以在Firebase上为选定的一组可调用函数进行配置,这样整个体验就不会让用户感到缓慢和沮丧?许多用户如果必须等待10秒(即使这只是第一次(,可能会放弃使用我想出售的这项服务。。。
有没有一种方法可以为选定的可调用组进行配置Firebase上的函数?
是的,如文档中所述,您可以使用runWith
参数为给定的云函数设置最小实例数,如下所示:
exports.myCallableCloudFunction = functions
.runWith({
// Keep 1 instance warm
minInstances: 1,
})
.https.onCall((data, context) => {
// Cloud Function code
});
通过传递所需的值(例如minInstances: 3
(,可以使多个实例处于温暖状态。
注意,";保持运行的最小数量的实例以空闲率产生计费成本。通常,保持一个空闲功能实例温暖的成本低于每月6.00美元;(摘自文件(。
请注意,您需要使用此选项配置每个云函数,AFAIK您不能将其应用于一组云函数。