FaaS Serverless 变量可靠吗?

问题描述 投票:0回答:1

我正在编写一个通过 Netlify 的 FaaS Serverless 服务提供的 API。 为了在请求之间传输数据,我将数据存储在函数声明外部的临时变量上,因为它可供许多函数实例使用,但我在这样做时注意到一些错误。

我尝试测试它并想确认我的想法。

我创建了一个临时变量

let value = 1;

创建了一个由

serverless-http
包装的 Express 服务器,作为 Netlify 的处理程序提供。 我创建了一条路线
/modify
来将 1 添加到
value
并设置了一个超时,在函数超时之前等待一秒 - 模拟将数据检索给用户所需的时间。 我创建了另一条路线
/getVal
在 Netlify 控制台上打印
value

→ 执行完modify后,稍等片刻,但不足以让函数完成,渲染出修改前的值 → 然而,在看似随机的频率下,渲染的值不是前一个,而是初始的 1。如果我将初始值更改为 0,则打印的值改为 0。

**- 共享变量看似随机返回初始值意味着这些共享变量不可靠? **

- 函数实例之间共享的值(由函数修改)是否会在修饰函数结束后立即更改?

express http serverless netlify
1个回答
0
投票

这是无服务器架构的特点之一。没有可以存储状态的永久服务器。根据多种因素,当您第二次或第三次调用端点时,您可能会发现端点在同一服务器上执行,或者在具有新状态的全新服务器上执行。

如果您需要存储状态,请将函数连接到数据库或其他外部存储服务。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.