🎉Feat v2.2.0 发布:像 SpringBoot 一样好写,比 Vert.x 快两倍

发布于

先给第一次了解 Feat 的朋友一句话介绍:

Feat 是一款国产 Java Web 框架,开发体验近似 Spring Boot,运行速度远超 Vert.x,集成自研 smart-socket 引擎,支持 HTTP/2、WebSocket,编译期生成代码零反射,启动快、内存小、吞吐量高。

![展示图](http://pic.zhso.org/2026/07/09/f0f18a4db463.png)

---

前段时间我们发了篇文章《[Spring Boot 内嵌 Tomcat,是进步还是退步?](https://mp.weixin.qq.com/s/DLAtOvT07zok-jOLSoU0MA)》,评论区那叫一个热闹。

有人说 Spring Boot 太重了,有人说 Tomcat 已经够用了,还有人认为包体积轻不轻量化无所谓,性能才是硬道理。

好,那今天咱们就聊点硬核的——**Feat v2.2.0 正式发布**,看看 smart-servlet 的 web 内核在性能上到底能有多刚。

---

## 一、这次最狠的更新:我们把 Servlet 的 "义肢" 给拆了

![更新图](http://pic.zhso.org/2026/07/09/ba10b2cb76b4.png)

先划重点,这条更新比其他所有功能加起来都重要:

> **`ReadListener` 和 `WriteListener` 标记为已弃用,该功能仅用于适配 Jakarta Servlet 规范。**

如果你看过我之前写的《[Servlet 的三宗罪:Spring 的崛起,可能就是被它逼出来的](https://mp.weixin.qq.com/s/DXiKw8LSHwG0ZhJo_DwA2w)》,应该对这段话有印象:

> *"Servlet 的线程模型从骨子里就是'一个请求,一个线程',`AsyncContext` 只是想办法把容器线程提前释放出去,但编程模型依然是笨重的回调式……`ReadListener` / `WriteListener` 更典型——一种 '轮询式异步',每次写之前都要先问一句 '我现在能写吗',这种设计放在 2014 年看都已经显得落后于时代。"*

**现在,我们在 Feat 里把它正式标记为 Deprecated。**

这不是为了标新立异。而是我们越来越确定一件事:**一个规范如果连自己的官方生态都不愿意用(Spring WebFlux 直接绕开 Servlet API 另起炉灶),那它留着的唯一意义,可能就是给后来者提个醒——该删了。**

Feat 从设计之初就不是 Servlet 的模仿者。我们保留这些接口,只是为了给迁移中的项目一个缓冲。但"兼容"不等于"认同",该画的线终究要画。

---

## 二、其他值得关注的更新

![更新图](http://pic.zhso.org/2026/07/09/98bfa12b34da.png)

**HTTP 客户端增强**
- 新增 `HttpOptions#maxConnections`,支持配置 HTTP 连接池最大连接数
- 优化 HTTP 客户端长连接判定逻辑

**HTTP/2 优化**
- 优化推送请求中的 Cookie 处理逻辑

**Server 稳定性**
- 修复 upgrade 场景下解码异常的问题

**Feat Cloud / AOT**
- 支持 `feat.yml` / `feat-{env}.yml` 多环境配置生成(社区用户强烈反馈的需求,终于安排上了!)

**底层升级**
- smart-socket 升级至 2.1.2

---

## 三、性能测试:Feat 把 Vert.x 按在地上摩擦

好了,最激动人心的部分来了。

我们拿 Feat、Vert.x 和 Spring Boot 三个框架做了横向对比,测试工具用的 wrk,场景是 Hello World 和 JSON 响应。

测试参数:4 线程,100 连接,持续 60 秒,开启延迟统计。

![测试结果](http://pic.zhso.org/2026/07/09/82bbbc712462.jpg)

| 测试场景 | Feat | Vert.x | Spring Boot |
| ----------------- | ------------- | ------------ | -------------- |
| Hello World 吞吐 | **155,939 RPS** | 82,268 RPS | 49,905 RPS |
| Hello World 延迟 | **0.79 ms** | 1.43 ms | 3.60 ms |
| JSON 响应吞吐 | **155,973 RPS** | 77,212 RPS | 44,617 RPS |
| JSON 响应延迟 | **0.82 ms** | 1.54 ms | 2.27 ms |

**Feat 的吞吐量约为 Vert.x 的 2 倍。**

你没看错,是两倍。延迟更是低得离谱——Hello World 场景下只有 0.79ms,连 1 毫秒都不到。

> 测试代码全部开源在 Feat 仓库,测试环境为 GitHub Actions,欢迎复现。

---

## 快速开始

使用 Feat Cloud 创建一个简单的注解式 Web 应用:

```java
import tech.smartboot.feat.cloud.FeatCloud;
import tech.smartboot.feat.cloud.annotation.Controller;
import tech.smartboot.feat.cloud.annotation.RequestMapping;

@Controller
public class HelloWorld {
@RequestMapping("/hello")
public String hello() {
return "Hello, World!";
}
public static void main(String[] args) {
FeatCloud.cloudServer().listen();
}
}
```

**Maven 依赖:**
```xml
<!-- 运行期依赖 -->
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-cloud</artifactId>
<version>2.2.0</version>
</dependency>

<!-- 编译期转码 -->
<dependency>
<groupId>tech.smartboot.feat</groupId>
<artifactId>feat-cloud-starter</artifactId>
<version>2.2.0</version>
<scope>provided</scope>
</dependency>
```

## 写在最后

Feat 从诞生到今天,并不是为了证明某个框架不好。

![展示图](http://pic.zhso.org/2026/07/09/32b59ec03e05.png)

我们真正想回答的是另一个问题:

> **如果今天重新设计一套 Java Web 框架,它应该是什么样子?**

我们的答案是:
- 保留 Spring Boot 那样成熟、易用的开发体验;
- 不再依赖 Servlet 的历史设计;
- 尽可能把工作放到编译期完成,而不是运行期;
- 用更少的资源,支撑更高的性能。

这也是 Feat 一直坚持的发展方向。

v2.2.0 并不是终点,而是这个方向上的又一步。

如果你正在寻找一种不同于传统 Servlet 架构的 Java Web 开发方式,欢迎体验 Feat,也欢迎提出 Issue、参与 PR,一起把它做得更完善。

---

*GitHub 地址:[https://github.com/smartboot/feat](https://github.com/smartboot/feat)*
*官方文档:[https://smartboot.tech/feat](https://smartboot.tech/feat)*

---

原文链接:[点击查看](https://www.oschina.net/news/471547/feat-2-2-0-released)

评论

暂无评论。