AWS 发布了 Lambda Web Functions:函数不再是接收事件的处理程序,而是监听某个端口的 Node.js HTTP 服务器;为了区分,原来那种函数现在叫 Event Functions。AWS 说 Web Functions 适合 Web 应用、API 后端以及有大量并发请求的 HTTP 负载。在此之前在 Lambda 上跑 API 有三条路:每条路由一个函数挂在 API Gateway 后面;整个应用塞进一个函数加适配器,也就是 Lambdalith;或者一个函数加一个函数 URL,完全不碰 API Gateway。适配器方案要把每个事件再翻译成框架认识的请求,代价是每个环境同时只能处理一个请求、等 I/O 的时间照样计费、负载上限只有 6MB,AWS Hero Aidan Steele 直说这种做法「一直是个 hack」。Web Function 只需要知道监听地址,Lambda 通过 AWS_LAMBDA_HTTP_ENDPOINT 环境变量把 host 和 port 传进来;因为是普通 Node 服务器,本地开发和测试也比挂在 API Gateway 后面简单。