把握行业变革关键节点,12 月 19 日 - 20 日,AICon北京站即将重磅启幕! 了解详情
写点什么

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:335056

评论

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

厉害!我带的实习生仅用四步就整合好SpringSecurity+JWT实现登录认证!

沉默王二

Java

图文并茂|彻底搞懂零拷贝(Zero-Copy)技术

深度Linux

内存管理 Linux内核 进程管理 嵌入式开发 设备驱动

2022年IAA行业品类发展洞察系列报告:内容向APP及休闲游戏的突围

易观分析

IAA 休闲游戏

TASKCTL-调度监控常见问题

敏捷调度TASKCTL

kettle 分布式任务调度 ETL任务 ETL系统

CentOS8安装erlang 和 RabbitMQ

阿Q说代码

4月月更 RabbitMQ安装 erlang安装

测试人员最佳测试管理工具

阿里云云效

阿里云 云原生 开发 测试管理 测试管理工具

如何满足一个前端对 Mock 的全部幻想

Liam

前端 Jmeter Postman Mock

银行推进人工智能技术应用时需同步考量可信AI的评估与验证

易观分析

人工智能 AI

fastposter v2.7.0 发布 电商海报编辑器

物有本末

海报 fastposter 海报生成器 海报编辑器 主图编辑器

实践GoF的设计模式:单例模式

华为云开发者联盟

程序设计 设计模式 单例模式 GoF 共享实例

资产设备信息管理系统的功能

低代码小观

资产管理 CRM 企业管理系统 CRM系统 企业设备管理

如何为网站建立一个FAQ页面?

小炮

FAQ

多场景实现供应链可视化,小家电产业出海焕发新活力

数商云

产业数字化 供应链 供应链系统

后端开发【一大波干货知识】tcp/ip定时器与滑动窗口详解

Linux服务器开发

网络协议 TCP/IP 后端开发 Linux服务器开发 C++后台开发

netty系列之:netty中的核心编码器bytes数组

程序那些事

Java Netty 程序那些事 4月月更

为什么要做网站SEO优化?

源字节1号

SEO优化

基于 KubeVela 的机器学习实践

阿里巴巴云原生

局部变量是线程安全的,原因是什么?

华为云开发者联盟

线程 高并发 变量 线程安全 局部变量

"三高"Mysql - Mysql备份概览

懒时小窝

MySQL 高可用 MySQL 数据库

百度程序员开发避坑指南(前端篇)

百度Geek说

前端

实例解析网络编程中的另类内存泄漏

华为云开发者联盟

TCP 网络编程 网络 压力测试 内存泄漏

活动预告 | 对话ACE:Oracle停服俄罗斯,国产数据库未来发展

OceanBase 数据库

oceanbase

日志中台不重不丢实现浅谈

百度Geek说

后端

眼见为实,看看MySQL中的隐藏列!

码农参上

MVCC MySQL 数据库 4月月更

vulnhub靶场解题笔记——THE PLANETS:EARTH

L0kt4r

渗透测试

一场由TiCDC异常引发的GC不干活导致的Tikv硬盘使用问题

TiDB 社区干货传送门

王者荣耀商城异地多活架构设计

阿卷

架构实战营

pip:带你认识一个 Python 开发工作流程中的重要工具

华为云开发者联盟

Python 项目管理 pip 依赖关系 包管理器

恒源云(Gpushare)_啥,还不知道咋关机?技巧大放送6!

恒源云

人工智能 GPU服务器

好代码和坏代码

博文视点Broadview

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