关于无服务器框架的 AWS 可扩展性
Concerning with AWS Scalability with Serverless framework
当我将无服务器框架代码库部署到 AWS 时,我很好奇哪种方法会更好。
目前,有 2 个选项。
- 使用 Nest.js 或 Express.js 所以我将一个函数部署到 Lambda,该函数将处理所有 API 个端点
- 部署多个函数,使每个函数代表一个 API 端点
关于可扩展性,哪个选项是好的方法?
第二种选择总是更好。为每个功能创建多个 lambda 函数。
Lambda 延迟取决于来自 API 网关的调用数量。如果您使用多个端点和单个 lambda 调用,那么它将成为瓶颈或高延迟问题。加上基于每个 lambda 调用的 lambda 费用。如果您将一个 lambda 用于所有使用并提前达到此限制,则每个 lambda 100 万个请求都是免费的。
建议为每个功能使用不同的 lambda 函数,这是微服务的优点。保持简单和轻量级。
Lambda 函数的主要优势之一是在您的应用程序中独立扩展功能。
您不仅可以通过这种方式实现独立的可扩展性,还可以实现潜在的成本节约。
当我将无服务器框架代码库部署到 AWS 时,我很好奇哪种方法会更好。 目前,有 2 个选项。
- 使用 Nest.js 或 Express.js 所以我将一个函数部署到 Lambda,该函数将处理所有 API 个端点
- 部署多个函数,使每个函数代表一个 API 端点
关于可扩展性,哪个选项是好的方法?
第二种选择总是更好。为每个功能创建多个 lambda 函数。
Lambda 延迟取决于来自 API 网关的调用数量。如果您使用多个端点和单个 lambda 调用,那么它将成为瓶颈或高延迟问题。加上基于每个 lambda 调用的 lambda 费用。如果您将一个 lambda 用于所有使用并提前达到此限制,则每个 lambda 100 万个请求都是免费的。
建议为每个功能使用不同的 lambda 函数,这是微服务的优点。保持简单和轻量级。
Lambda 函数的主要优势之一是在您的应用程序中独立扩展功能。
您不仅可以通过这种方式实现独立的可扩展性,还可以实现潜在的成本节约。