首页 时政热点 科技头条 智能AI 安全攻防 数码硬件 开发者生态 汽车 游戏 社会热点 开源推荐 医疗健康 归档 标签 关于

AWS Lambda Web 函数

摘要

Today, we’re announcing AWS Lambda Web Functions , a new form factor that lets you run standard HTTP web applications on Lambda without rewriting your code into an event handler. You can take a standa...

and Lambda Functions the for model with event programming AWS
2026-10-13 1 阅读 约7分钟阅读 HatchedLake721
分享:
字号:
今天,我们宣布推出 AWS Lambda Web Functions,这是一种新的外形规格,可让您在 Lambda 上运行标准 HTTP Web 应用程序,而无需将代码重写到事件处理程序中。您可以采用使用 Express、Hono、Fastify、Next.js 或任何 Node.js 框架构建的标准端口侦听服务器,使用单个命令进行部署,Lambda 会自动处理扩展、多区域分发和活动 CPU 计费。没有适配器,没有需要管理的基础设施,也没有框架锁定。通过此次发布,AWS Lambda 现在提供三种不同的外形尺寸,每种外形尺寸均基于相同的 Firecracker 隔离技术构建,并针对不同的编程模型而设计。 Lambda 事件函数就是您所熟知的 Lambda 函数。他们使用事件驱动、单并发处理程序模型和挂钟计费。我们引入“事件函数”名称来强调该编程模型:您的函数接收事件、处理它并返回响应。事件驱动的编程模型非常适合事件处理、队列使用者以及其他 AWS 服务触发的调用。 Lambda Web Functions 使用具有多并发执行和主动 CPU 计费功能的 HTTP 本机编程模型。您的代码侦听端口并处理标准 HTTP 请求。该编程模型非常适合 Web 应用程序、API 后端和交互式 HTTP 工作负载,其中多个并发请求和 I/O 密集型处理是常态。 Lambda MicroVM 提供隔离的、有状态的沙箱环境,具有客户管理的生命周期,用于运行不受信任或用户生成的代码。三者相辅相成。应用程序可以使用事件函数进行异步后端处理,使用 Web 函数进行面向用户的 API 和服务器端渲染层,使用 MicroVM 进行交互式代码执行功能,所有这些都在同一 AWS 账户内并共享相同的操作模型。为什么选择 Web 函数 现代 Web 应用程序需要以快速、一致的响应时间为全球受众提供服务,同时让开发人员可以自由地使用标准框架并快速迭代。如今构建此系统通常需要组装多个基础设施组件、​​配置多区域部署、设置基于延迟的路由以及调整计费模型以避免为 I/O 等待付费。开发人员经常发现自己正在调整应用程序代码以适应特定的计算模型,而不是部署他们已有的 HTTP 服务器。 Lambda Web Functions 消除了这种复杂性。每个执行环境同时处理多个请求(每个环境最多 128 个并发请求),这意味着突发的传入流量可以共享温暖的环境,而不是将每个请求映射到新的环境。 Web Functions 计量代码使用的 CPU 时间,因此等待数据库查询或 API 调用所花费的时间只消耗很少的 CPU。只要执行环境存在,内存就会被计量。对于 I/O 密集型 Web 工作负载(例如服务器端渲染、API 后端和流式令牌响应的 AI 推理端点),这可以降低计算成本。让我们尝试一下 首先,我编写了一个简单的 Express.js 服务器。这与我在本地使用 Node index.js 运行的代码相同,不需要 Lambda 特定的适配器或包装器。从“快递”进口快递;常量应用程序 = Express(); const [主机,端口] = process.env.AWS_LAMBDA_HTTP_ENDPOINT.split(':'); app.get('/', (req, res) => { res.json({ message: '来自 Lambda Web Functions 的问候!' }); }); app.listen(port, host, () => { console.log(`服务器在端口 ${port} 上运行`); });与本地运行的唯一区别是 AWS_LAMBDA_HTTP_ENDPOINT 环境变量,Lambda 将其设置为服务器必须侦听的主机和端口。要在本地运行,请自行设置,例如 AWS_LAMBDA_HTTP_ENDPOINT=127.0.0.1:3000 node index.js 。代码准备就绪后,我使用 AWS 命令​​行界面 (AWS CLI) 进行部署: aws lambda-web deploy --name my-web-app --code ./my-app 一个命令。无需事先设置资源。 CLI 捆绑了我的源代码、创建了 Web 函数、发布了其第一个修订版、附加了 Web 函数端点,并在一分钟内返回了实时 HTTPS URL。修订版是我部署的代码的不可变快照。端点是 HTTPS URL,它将流量路由到修订版本,或在修订版本之间拆分流量。这些是我用来迭代和控制流量如何转移到新代码的资源。我立即对其进行了测试: $ curl https://..lambda-web.us-east-1.on.aws/ {"message":"Hello from Lambda Web Functions!"} 接下来,我希望我的应用程序能够以较低的延迟为欧洲和亚洲的用户提供服务。我重新部署了多个区域: aws lambda-web deploy --name my-web-app --code ./my-app \ --regions us-east-1,eu-west-1,ap-northeast-1 Lambda Web Functions 将我的代码复制到所有三个区域并自动配置基于延迟的路由。现在,每个请求都会尽力通过以下方式路由到调用者延迟最低的区域:
这篇文章对您有帮助吗?

订阅66必读

每日精选科技资讯,直达你的邮箱