我对整个无服务器领域还很陌生,并且正在尝试了解何时使用 Fargate 与 Lambda。
我知道 Fargate 是 ECS 的无服务器子集,Lambda 也是无服务器的,但由事件驱动。但我希望能够向其他熟悉容器但不太了解 AWS 和无服务器的人用简单的术语解释这两种范例。
目前,我们有几个物理服务器负责接收文本文件,解析它们,并用结果填充几个数据库表。根据我的理解,我认为这将是一个更适合 Lambda 的用例,因为解析文本文件的过程是由计划触发的,不会长时间运行,并且在不使用时会逐渐减少。
然而,如果我们要移植一台接收 API 调用的服务器,我们可能会想要使用 Fargate,因为我们始终需要至少一个启动并运行该映像的实例。
就容器而言,从非常笼统的角度来说,如果容器的设计目的是:
docker run <some_input>
那么这就是 Lambda 的工作了。
但如果容器设计用于执行以下操作:
docker run --expose 80
这就是 Fargate 的工作。
这是一个很好的比喻吗?
这是一个很好的类比的开始。然而,Lambda 在可用 CPU 和 RAM 方面也有限制,每次调用的最大运行时间为 15 分钟。因此,任何需要更多资源或需要运行超过 15 分钟的内容都更适合 Fargate。
另外,我不确定为什么你说某些东西更适合 Fargate,因为你“总是需要至少一个实例运行”。 Lambda+API Gateway非常适合API调用。 API Gateway 始终准备好接收 API 调用,然后调用 Lambda 函数来处理它(如果响应尚未缓存)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)