阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

Fastify 3.0 改善了性能、日志、模式以及对 TypeScript 的支持

  • 2020-08-06
  • 本文字数:955 字

    阅读完需:约 3 分钟

Fastify 3.0改善了性能、日志、模式以及对TypeScript的支持

Fastify 是一个开源、低性能开销的 Node.js Web 框架。Fastify v3 引入了在 Fastify 中运行 Express 应用的功能、添加了对日志序列化和模式替换的改善,并且提供了对 TypeScript 定义的更好的支持。


Fastify 依然关注轻量级的性能。按照Fastify最新的性能指标,相对于其他的框架,Fastify 每秒钟能够服务于更多的请求,这些其他的框架包括 Koa、Restify、hapi、Express 和内置的 http.Server。Fastify 3.0 版本比早期的 2.x 版本每秒钟的处理能力翻了一倍。


Fastify v3 改善了其类型系统,以支持通用的约束和默认值,以及更高效的模式类型定义。


fastify-express包提供了 Fastify 中完备的 Express 兼容性支持,以便于从 Express 到 Fastify 的迁移。


校验和序列化在 Fastify 3 得到了显著改善。setSchemaCompilersetSchemaResolver选项替换成了setValidatorCompiler,以支持进一步的工具优化。对preParsing和其他 hook 的变更提升了性能和一致性,并利用了更多 Fastify 的内部 API,如 Fastify requests。类似的,Fastify 日志序列化器现在使用了 Fastify Request 和 Reply 对象,以取代原生的对象。现有的 Fastify 用户应该参考Fastify 3.0迁移指南来获取完整的更新列表。


Fastify 现在包含136个官方插件,涵盖的特性包括 Next.js 服务器渲染、WebSockets、Webpack 等。对于 3.0 发布版本来说,支持所有的插件是重要优先级的任务。正如 Elastic 的软件工程师兼 Fastify 的贡献者Tomas Della Vedova所述:


我对 @fastifyjs v3 发布感到非常开心。你现在可能已经知道,我们有一个很大的插件生态系统。在 v2 版本的时候,我们当时并没有明确的升级计划,所以我们只是发布了 Fastify v2,然后慢慢升级所有的插件。今年,我们开始就预发布了所有的插件,所以用户可以通过安装其应用中每个组件的 @.next 版本来测试 Fastify v3。在发布的时候,我们公开了最终版本的 Fastify v3,我和 @matteocollina 发布了所有的插件,所以新老用户在升级的时候不会遇到任何障碍或难以预料的缺陷。明年会继续改善:所有的这些步骤都将会自动化。


Fastify 是一个开源的软件,可以基于 MIT 许可证协议获取,它是 OpenJS 的一部分。欢迎为 Fastify 做出贡献,需遵循贡献指南代码准则


原文链接:


Fastify 3.0 Improves Performance, Logging, Schema, and TypeScript Support


2020-08-06 16:334631

评论

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

提交代码「前置处理」,向前一小步,效率提升「亿点点」

极狐GitLab

DevOps 极狐GitLab git hook lefthook 代码前置

Nautilus Chain :基于模块化架构的Layer3正在走向成熟

股市老人

Go语言并发编程核心-Channel的典型应用场景分析

Jack

如何开发一个小程序自定义组件

Onegun

小程序 前端 小程序组件

MegEngine 使用小技巧:量化

MegEngineBot

量化 MegEngine

视频大文件传输的演变:从“卷轴男孩”到自动化

镭速

深度分享 | API 测试经济学与 API First 践行

Apifox

程序员 前端 接口 后端 API

向量嵌入:AutoGPT的幻觉解法?

OneFlow

一文带你了解 TypeScript 泛型

程序员海军

typescript 三周年连更

如何利用 Go 创建一个 Web 应用

宇宙之一粟

Go Web 服务端 客户端 三周年连更

您有一份直播回放待查收!

BinTools图尔兹

直播回放 版本发布

TPU、TensorFlow—谷歌云“增强”AI 芯片团队,与微软云竞争AI云份额

B Impact

北大GPT解题有数学老师内味了,用人话讲难题,从高中数学到高数都能搞定

Openlab_cosmoplat

人工智能 开源社区

HarmonyOS Codelabs最新参考

坚果

OpenHarmony 三周年连更

把“ai模型+低代码”应用在项目管理中,效率翻了好几倍

优秀

AI 低代码

卷起来了!阿里最新出品“微服务全阶笔记”,涵盖微服务全部操作

收到请回复

架构 #编程 #微服务

Oracle EBS学习篇:Oracle EBS启用诊断功能

back_wang

灾备的级别和等级划分

穿过生命散发芬芳

灾备 三周年连更

走进社区客户端测试 | 得物技术

得物技术

测试

九科信息流程挖掘产品bit-Miner即将开放面向对象流程挖掘能力

九科Ninetech

流程挖掘

手势识别:让你的手成为计算机的新界面

来自四九城儿

在企业内容城池边,它建立起一支保卫军

ToB行业头条

让 AI 更简单 人工智能平台 SEAL 携手龙蜥落地达摩院算法能力 | 龙蜥案例

OpenAnolis小助手

开源 操作系统 SEAL 达摩院 龙蜥案例

MobTech MobLink|引流统计一站式服务

MobTech袤博科技

Go RWMutex:高并发读多写少场景下的性能优化利器

陈明勇

Go golang 读写锁 三周年连更 RWMutex

关于时间管理的一点建议

光毅

时间管理 Tech Lead

2022-04-25:给定两个长度为N的数组,a[]和b[] 也就是对于每个位置i来说,有a[i]和b[i]两个属性 i a[i] b[i] j a[j] b[j] 现在想为了i,选一个最

福大大架构师每日一题

golang 算法 rust 福大大

“精准测试” 在商家地址专项的探索 | 得物技术

得物技术

智慧园区数字转型下的移动App建设策略

Onegun

移动应用 智慧城市 智慧园区

Nautilus Chain :基于模块化架构的Layer3正在走向成熟

EOSdreamer111

Django笔记十六之aggregate聚合操作

Hunter熊

Python django 聚合 aggregate

Fastify 3.0改善了性能、日志、模式以及对TypeScript的支持_大前端_Dylan Schiemann_InfoQ精选文章