2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

评论

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

深入解析Kafka的offset管理

编程江湖

kafka

大搜车面向复杂业务场景的研发运维体系治理实践

阿里云弹性计算

弹性计算 运维峰会 研发运维

C语言-函数的可变形参(不定形参)

DS小龙哥

C语言

缓存一致性最佳实践

得物技术

缓存 分布式 数据 一致性 实践

如何打造一款三消类游戏

Shopee技术团队

算法 前端 游戏 Shopee Candy

2021 OceanBase 年度报告 | 用技术让海量数据的管理和使用更简单!

OceanBase 数据库

开源 年度报告 oceanbase 成绩单

发挥好数字人民币促“双碳”作用

CECBC

微服务分布式架构中,如何实现日志链路跟踪

华为云开发者联盟

微服务 日志 分布式架构 logback 链路跟踪

阿里云何川:开放兼容的云,计算巢帮助合作伙伴云化升级

阿里云弹性计算

弹性计算 年度峰会 计算巢

在Mac上运行Rainbond,10分钟快速安装

北京好雨科技有限公司

在Windows上运行Rainbond,10分钟快速安装

北京好雨科技有限公司

『征文精选』技术翻译与术语管理技术:专业人说专业话

SphereEx

数据库 翻译 ShardingSphere 征文 SphereEx

Java开发Redis面试题分享

@零度

redis Java 开发

Linux之|etc|group文件

入门小站

Linux

区块链,元宇宙时代的“基础设施”

CECBC

2021关键词:重新起航

faiting

数据结构算法 盘点 2021

Ubuntu LNMPR环境搭建(Ubuntu 20.04 + Nginx1.8 + PHP 7.3 + Mysql8.0 + Redis5.0)

Owen Zhang

ubuntu LNMPR

Ubuntu 基于Nginx1.8的Golang环境搭建(Ubuntu 20.04 + Nginx1.8 + Golang 1.17 )

Owen Zhang

golang nginx ubuntu

最佳实践:青藤云安全发布国内首个K8S ATT&CK攻防矩阵

青藤云安全

新能力让数据多端协同更便捷,数据跨端迁移更高效!|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

C语言-函数的定义、声明、传参

DS小龙哥

C语言

城墙上的“云镜派”,如何守护云上资产安全?

白洞计划

评委拍案叫绝、项目惊喜不断,这是一届怎样的 Hackathon ?丨TiDB Hackathon 2021 回顾

PingCAP

深入理解百度在离线混部技术

百度Geek说

云计算 云原生 后端

Hyperf结合PhpOffice/PhpSpreadsheet实现Excel&CSV文件导出导入

Owen Zhang

php hyperf php扩展 PhpOffice/PhpSpreadsheet

抢占先机!为何说区块链通证经济象征未来?

CECBC

Golang:定时器的终止与重置

恒生LIGHT云社区

golang 定时器 语言 Go 语言

跨平台技术实战!百度文库跨平台技术快速落地全过程

百度Geek说

跨平台 PC 百度文库

从内存管理原理,窥探OS内存管理机制

华为云开发者联盟

cpu 内存 内存管理 应用程序 OS

Hadoop中mapreduce作业日志是如何生成的

华为云开发者联盟

hadoop hdfs mapreduce YARN 作业日志

企业管理系统可视化权限功能设计

雯雯写代码

可视化 权限 企业管理系统

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