AWS推出实验性低延迟运行时,助力更快、更高效的无服务器应用

AWS开源低延迟JavaScript运行时LLRT

AWS最近开源了其JavaScript运行时LLRT(低延迟运行时),这是一个实验性的轻量级JavaScript运行时,旨在满足对快速高效无服务器应用程序日益增长的需求。

主要特点与优势

  1. 性能提升:LLRT在启动速度上比其他在AWS Lambda上运行的JavaScript运行时快十倍以上,成本降低两倍。
  2. 技术基础:LLRT使用Rust语言构建,并采用QuickJS作为JavaScript引擎,确保高效的内存使用和快速启动。
  3. 集成性:运行时与Lambda和AWS SDK(v3)集成。
  4. 无JIT编译器:与Node.js、Bun和Deno等通用运行时不同,LLRT不包含即时(JIT)编译器,这减少了系统复杂性和运行时大小,同时节省CPU和内存资源,从而加快应用程序启动时间。

性能提升的原因

  • 代码打包:LLRT要求将代码和依赖项打包成一个.js文件,消除了Node在模块解析阶段发生的文件系统查找。
  • 预加载AWS SDK:LLRT预打包、预编译(为字节码)和预加载AWS SDK的部分内容,与需要加载和解释JS文件的通用运行时相比,这带来了显著的性能优势。

适用场景

LLRT在较小的无服务器函数中最为高效,适用于数据转换、实时处理、AWS服务集成以及授权和验证任务。

社区反馈

  • Reddit评论:LLRT的速度提升主要来自于其限制性设计,如代码打包和预加载AWS SDK。
  • Hacker News评论:LLRT适用于Lambda作为“胶水”的场景,如路由请求或授权策略决策,但对于需要大量计算的应用,QuickJS的性能可能不如V8。
  • Twitter评论:有开发者对LLRT表示怀疑,认为它会增加Lambda开发的复杂性,并可能导致更多的供应商锁定。

结论

尽管LLRT显示出潜力,但在推荐用于生产之前,还需要更多的稳定性、支持和实际测试。

阅读 24
0 条评论