如果你用 Node.js 写后端,大概率听过这个名字:Fastify。它是一个 Web 框架——也就是帮你搭好服务器骨架、你只管写业务逻辑的现成代码库。在官方基准测试里,它在一台普通 i7 机器上每秒可以处理 7.7 万个请求,是同类老牌框架 Express 的 5 倍以上。需要高并发接口、又不想牺牲开发体验的 Node.js 团队,是它最典型的用户。
先弄清一个概念:Web 框架解决什么问题
写网站后端,最核心的事是接收客户端发来的请求(每次打开页面、每次点击按钮都算一次访问),然后返回数据。手写这套逻辑不是不行,但路由(哪个地址对应哪段代码)、参数校验、错误处理、日志这些事全要自己做,量大且容易出错。Web 框架把这些公共部分做好,开发者只需要声明「这个地址返回什么数据」。
Node.js 是让 JavaScript 脱离浏览器、在服务器上运行的环境,目前后端生态里使用率最高的运行时之一。Fastify 就是它生态中专注性能的 Web 框架:GitHub 上 3.7 万星标,被 18 万个开源仓库依赖,是 OpenJS Foundation(托管 JavaScript 开源项目的非营利基金会)旗下的正式项目。
快在哪里:官方基准怎么说
Fastify 的 README 里贴了一份官方压测数据:同一台 Intel i7 4GHz 机器、同样的压测工具(autocannon,每秒发起 100 个并发连接持续 40 秒),各框架的吞吐量对比如下:
- Express 4.17.3:每秒 14,200 个请求
- hapi 20.2.1:每秒 42,284 个请求
- Restify 8.6.1:每秒 50,363 个请求
- Koa 2.13.0:每秒 54,272 个请求
- Node.js 原生 http.Server:每秒 74,513 个请求
- Fastify 4.0.0:每秒 77,193 个请求
注意最后两行:Fastify 甚至比 Node.js 自带的原生 HTTP 服务器还快。这个数字意味着,同样的服务器硬件能支撑更多用户同时访问——直接体现为更低的机器成本和更短的响应时间。当然这是「hello world」级别的理想基准,真实业务会有数据库等瓶颈,但框架本身的额外开销(overhead,即框架在业务逻辑之外多消耗的资源)越低,留给业务的空间就越大。
性能之外:插件架构与数据校验
Fastify 不只有速度,它的三个设计也直接关系到日常开发效率。
插件机制。 功能可以拆成一块块积木:路由、数据库连接、鉴权逻辑都能封装成插件,项目需要哪个就装哪个。装插件不是复制粘贴代码,而是声明式挂载,升级和卸载都干净。
生命周期钩子(hook)。 框架在处理请求的几个固定时刻(请求进来时、响应发出前)自动调用你注册的函数。想做登录校验、记录访问日志,注册一个 hook 即可,不用侵入每个接口。
JSON Schema 校验。 你可以给接口附一份「数据说明书」,声明参数该长什么样:哪个字段必须有、必须是数字还是字符串。Fastify 会自动校验每个进来的请求,不合规的直接拦截,返回错误提示。关键在于校验逻辑会被编译成高性能函数,几乎不拖慢处理速度。序列化(把内存中的数据对象转成可传输的 JSON 文本)同理,也是按说明书生成专用代码,比通用转换快得多。
日志方面,Fastify 内置 Pino 日志库。日志是排查线上问题的关键线索,但打日志本身有开销;Pino 的核心卖点就是「几乎零成本」的日志输出。
生态与维护状态
一个框架值不值得长期押注,要看社区和治理。Fastify 的 GitHub 仓库有 866 位贡献者、累计 4872 次提交,发布过 326 个版本;18 万依赖方里包括大量知名开源项目。项目由 OpenJS Foundation 托管,主维护者是 Matteo Collina 和 Tomas Della Vedova。版本方面:v3 及以下已停止维护(不再修安全漏洞),当前主线是 v5,最新版 v5.12.4 发布于 2026 年 9 月 11 日,v6 处于 alpha 开发阶段。
什么场景选 Fastify
适合选它的场景很具体:接口性能敏感的 Node.js 项目(开放 API、微服务、高并发网关);喜欢用插件把代码组织得干净清晰的团队;以及从 Express 迁移、想把相同流量压到更少机器上的服务。它的学习曲线比 Express 略陡,但换来的是性能和工程化收益。
如果你在 Node.js 生态里需要一个「快、有组织、社区靠谱」的 Web 框架,Fastify 是目前最值得考虑的选项之一——先跑通官方基准,再决定要不要把下一个服务交给它。