写点什么

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

评论

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

2021智能制造、智慧金融、智能安全有何发展趋势

容光

AI 金融

2021年CES十款智能家居黑科技产品

容光

人工智能

Go 并发编程-channel 连接一切

Rayjun

Go 语言

《看板方法官方指南》中文版发布了!

Bruce Talk

敏捷 Kanban Agile

2021北京人工智能展览会-转述

容光

日志收集组件—Flume、Logstash、Filebeat对比

数据社

大数据 5月日更

Golang最细节篇— struct{} 空结构体究竟是啥?

奇伢云存储

云存储 Go 语言

区块链与数字化转型的关系

CECBC

智慧金融发展-转述

容光

AI、智能健康与货币技术迎来大爆炸

容光

区块链 AI

从 Object.assign 开始了解ES2015

devpoint

浅拷贝和深拷贝 ECMAScript 6 assign

iOS面试题--基础篇

ios 程序员 面试 编程之路

运营管理

Qien Z.

5月日更

【Flutter 专题】125 图解自传 ACE_ICON.ttf 图标库

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

人生算法:找到可复制的最小内核

石云升

读书笔记 5月日更 人生算法

数智化社会供应链助力消费体验提升 京东图书千万好书“先5折再满减”

科技范儿

架构师成长之路

soho

想要成为架构师?你只要满足这些条件就可以

华为云开发者联盟

设计 工程师 架构师 软件系统 软件架构师

你是做敏捷与DevOps的,还是做掉敏捷与DevOps的?

刘华Kenneth

DevOps 敏捷 转型 教练

发展农村数字普惠金融的问题及对策分析

CECBC

全国首创“区块链+信用”平台即将上线

CECBC

网络攻防学习笔记 Day28

穿过生命散发芬芳

5月日更 网络攻防

Nginx通过Cookie做灰度就这么简单

运维研习社

nginx 运维 灰度发布 5月日更

专家谈 AI:2021 年人工智能发展趋势(下)

容光

虚拟机如何实现synchronized

wzh

虚拟机 并发 synchronized Java EE

dubbo-go v3 版本 go module 踩坑记

apache/dubbo-go

Apache dubbo dubbo-go

MySQL数据库事务隔离性的实现

华为云开发者联盟

MySQL 数据库 事务 数据库隔离 事务隔离

Django 之模板篇

若尘

django Template Pattern Python编程 5月日更 模板

技术管理课学习笔记 01

escray

学习 极客时间 5月日更

技术栈,我该拿你怎么简化?

VoltDB

数据分析 5G 堆栈 边缘计算

一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识

华为云开发者联盟

MySQL 索引 时间戳 char int

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