跳转到内容

Spine用熟悉的开发方式,
构建更快的服务器。

使用您在 NestJS 和 Spring 中熟悉的控制器与服务结构来组织 Go 应用。您可以使用构造函数注入和拦截器,并查看相同资源条件下测得的吞吐量和内存使用量。

企业采用免费技术支持不限企业数量,涵盖采用咨询到故障排查。查看支持说明
Shell
go install github.com/NARUBROWN/spine-cli/cmd/spine@v0.1.4
spine new hello-spine --module example.com/hello-spine
cd hello-spine
go mod tidy
spine contract check
spine verify
spine dev

使用 CLI 生成项目,验证后再运行。完整步骤请参阅“第一个应用”。

使用 CLI 创建第一个应用

相同资源,处理更多请求。
内存用量更少。

我们为NestJS/Express、Spring MVC和FastAPI/Uvicorn各分配3 vCPU和3GiB内存进行比较。

Spine 内部实验室测试 / 2026.11.01

查看测量条件和完整结果

163,559req/s

HTTP吞吐量

饱和负载下测量的中位数

41.8MiB

观测内存用量

每秒2万请求时的用量

1.062ms

p99响应延迟

每秒2万请求时的延迟

相同CPU预算下处理的请求数

越高越好

假设每位用户每秒请求一次

Spine0.5.2
163,559req/s
NestJS / Express
93,977req/s

如果使用Spine,还可多处理约69,582名用户的请求。

Spring MVC
118,943req/s

如果使用Spine,还可多处理约44,616名用户的请求。

FastAPI / Uvicorn
50,173req/s

如果使用Spine,还可多处理约113,386名用户的请求。

256个并发连接下的饱和吞吐量。我们比较了各实现的实际吞吐量。

此示例按每位用户每秒请求一次,将每秒吞吐量的差值换算为人数。实际可承载人数取决于请求频率和应用执行的任务。

测量数据CSV

创建第一个应用 ​