AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

亚马逊云科技 Lambda 引入响应有效负载流

  • 2023-05-24
    北京
  • 本文字数:1204 字

    阅读完需:约 4 分钟

亚马逊云科技 Lambda引入响应有效负载流

亚马逊云科技最近宣布,AWS Lambda 函数可以将响应有效负载以流的方式逐步传回客户端。新特性提高了 Web 和移动应用程序的性能,目前在 Node.js 14.x 及以上版本的运行时以及自定义运行时中可用。

 

响应流帮助开发人员将响应从他们的函数以流的方式传输给他们的用户,而不必等待整个响应完成。对于这项期待已久的特性,可以使用Lambda函数URL和 SDK 来调用其 API,但目前还无法使用 API 网关或应用程序负载均衡器(ALB)对响应有效负载进行流式处理。对于它的优势,首席开发大使Julian Wood是这样的:


在传统的请求-响应模型中,在将响应返回给客户端之前,需要完全生成和缓存响应。客户端等待响应生成会降低 TTFB(Time To First Byte)性能。Web 应用程序对 TTFB 和页面加载性能尤其敏感。

 

响应流是为图像、视频、大型文档或数据库结果等大型有效负载而设计的,它需要用 streamifyResponse()装饰器封装 Lambda 函数处理程序,如下所示:


exports.handler = awslambda.streamifyResponse(	async (event, responseStream, context) => {    	responseStream.setContentType("text/plain");    	responseStream.write("Hello, world!");    	responseStream.end();	});
复制代码

 

其中,新的 responseStream 对象提供了一个流对象,函数可以向该对象写入数据并立即发送到客户端。开发人员可以选择设置响应的 Content-Type 报头来传递关于流的额外信息。Datadog 工程团队负责人AJ Stuyvenberg测试了这一新功能。他评论道:


这次发布可能看起来微不足道,但它解锁了几个关键的用例——对于希望利用服务器端渲染并减少第一字节时间的 Next.js 和 React 开发人员来说尤其如此。

 

新特性目前支持的最大响应大小为 20MB(软限制),流函数的最大带宽吞吐量限制为 16Mbps(2MB/s)。目前,响应流仅在 Node.js SDK 中原生提供,不过开发人员可以在支持其他编程语言的自定义Lambda运行时中实现它。虽然有些开发人员关注的是它的局限性,但 Ampt 首席执行官兼联合创始人Jeremy Daly在其新闻通讯中写道:


该特性不仅让 Lambda 函数可以将响应流逐步返回给客户端以减少 TTFB,而且还允许开发人员超过标准的 6MB 负载限制。

 

云咨询顾问、亚马逊云科技无服务器英雄Yan Cui写了一篇文章,演示了如何使用新的流式响应返回大型对象,而无需将结果存储在 S3 中。

 

Lambda 的响应流并不是云计算领域中第一个可用的选项,Vercel 最近就在 Node.js(Lambda)和 Edge 运行时中提供了HTTP响应流支持

 

亚马逊云科技无服务器模式集合中发布了 Lambda 流应用程序示例。这些应用程序支持用 AWS SAM 来构建和部署资源。流式响应增加了Lambda的网络传输成本,不过,除了每个请求的前 6MB 之外,亚马逊云科技免费套餐现在还包含每月 100GiB 的 HTTP 响应流。


原文链接:

https://www.infoq.com/news/2023/04/aws-lambda-response-streaming/


相关阅读:

亚马逊云科技开源 Mountpoint for Amazon S3,通过挂载点技术简化 Amazon S3 对象存储的使用

容器与无服务器,是竞争对手还是队友?

2023-05-24 08:004294

评论

发布
暂无评论
发现更多内容

OLAP性能再获突破!火山引擎ByteHouse性能白皮书发布

极客天地

云端简易指南:快速启动与管理您的ECS实例

极客天地

比 MyBatis 效率快 100 倍...

Java技术精选

一站式大数据开发与治理产品实践

Jackchang234987

元数据 大数据平台 数据开发平台 数据中台数据治理

库存控制秘诀:鞋服品牌如何避免库存积压风险

第七在线

保障校园网络安全用堡垒机的几个原因分析

行云管家

网络安全 数据安全 堡垒机 等保合规 校园

更轻松地部署和升级 NGINX Service Mesh

NGINX开源社区

nginx Kubernetes Helm Service Mesh 服务网格 mTLS

深入理解精准测试理论与技术:揭秘测试技术的核心原理

测吧(北京)科技有限公司

测试

ChatTuGraph:通过大模型“与图对话”

TuGraphAnalytics

graph FineTuning Text2GQL

新版Redis不再“开源”,对使用者都有哪些影响?

华为云开发者联盟

数据库 redis 华为云 华为云开发者联盟 华为云GeminiDB

阿里云实时计算Flink的产品化思考与实践【上】

Apache Flink

大数据 flink 实时计算

中国 10 亿参数规模以上大模型数量已超 100 个;GitHub 推出代码自动修复工具丨 RTE 开发者日报 Vol.172

声网

日立公司采用元太科技电子纸实现了无纸化营运

财见

亚马逊云科技携手埃森哲、Anthropic助力企业打造负责任的AI

财见

敏捷开发:想要快速交付就必须舍弃产品质量?

敏捷开发

项目管理 Scrum 敏捷开发 产品研发 研发

最新 Apifox 3 月更新:详解多分支升级、Query 参数支持枚举、自定义快捷键

Apifox

程序员 Apifox API 接口工具 API 工具

同城双活:交易链路的稳定性与可靠性探索

得物技术

Java 后端 中间件 双活

聊聊我做测试开发的十年心路历程

阿里技术

测试 开发

软件测试学习笔记丨Allure2 报告中添加附件(视频)

测试人

软件测试

是什么阻碍了你的成长

老张

个人成长 职场成长

SpringBoot集成ElasticSearch,实现模糊查询,批量CRUD,排序,分页,高亮...

Java技术精选

如何轻松管理你的海外主机?实用技巧大公开!

一只扑棱蛾子

海外主机

软件测试学习笔记丨Allure2报告中添加附件-日志

测试人

软件测试 测试开发

解锁TikTok直播专线,提高使用体验

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 tiktok直播网络

深度解析代码变更对业务的影响范围:业务影响范围关联分析

测吧(北京)科技有限公司

测试

山东省正规等保测评机构名称以及地址一览表

行云管家

等保 山东 等级保护 等保测评

TikTok直播专线是什么?有什么用?

Ogcloud

海外直播专线 海外直播 tiktok直播 tiktok直播专线 海外直播网络

分享一些大数据处理算法

Chris Zhang

大数据

ECS公网连接指南:精明选择公网IP计费策略

极客天地

“专业敏捷教练课程” 6月1-2日 · CSP-SM认证周末班【晋升高阶享多重福利】

ShineScrum

亚马逊云科技 Lambda引入响应有效负载流_服务革新_Renato Losio_InfoQ精选文章