1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 首先,是的,你是正确的,你应该将lambda函数视为“单个请求=单个线程安全无状态的lambda函数”。这种思维范式迫使我们工程师将计算与数据(状态)分离开来,独立地对它们进行扩展,避免共享状态、副作用,并最终实现高级别的并行性,避免并行编程中难以调试的陷阱。
关于你问题的后半部分:AWS Lambda的真正美妙之处在于它允许我们摆脱对低级概念(如CPU利用率和IO等待时间)的考虑,只专注于"业务逻辑"和你想要通过代码实现的具体目标。(当然,AWS Lambda在内部进行了相当广泛的底层优化,以避免资源的浪费)
从技术上讲,你可以在单个Lambda调用中运行自己的事件循环,并在每个Lambda调用中处理多个请求。然而,我会将其视为一种反模式,并且这可能意味着你可能根本不需要使用Lambda。
我建议你尝试一下,不要过多考虑底层资源的优化。另外,如果我没有记错的话,默认的Lambda预留并发数是1000,所以应该足够用于处理高流量的实验。