在少编译、低复杂度、轻松写 API 的约束下,对主流后端语言做加权选型;附可运行 PoC(ecs_api)。
改源码后数秒内可验证,长编译不作默认路径。
最少样板即可提供 REST/JSON 与字段校验。
CORS + OpenAPI(/docs)降低前后端对齐成本。
本地 uvicorn 与 Docker 一键对外提供健康检查。
| 维度 | 权重 | 含义 |
|---|---|---|
| 编译 / 热更新 | ×2 | 改代码到可用的摩擦 |
| 写 REST/JSON | ×2 | 脚手架与样板量 |
| 生态成熟度 | ×1.5 | Web 库、工具链、社区 |
| 前端联调 | ×1.5 | CORS、文档、协作成本 |
| 部署运维 | ×1 | 进程、依赖、容器友好度 |
| 性能天花板 | ×0.5 | 本场景权重低 |
打分 1–5,加权总分满分 42.5。
这是技术选型 ADR 常见做法:先定标准,再打分,后决策。
性能不是本轮主战场——先接通,再度量。
| 语言 | 编译 | 写 API | 生态 | 联调 | 运维 | 性能 | 总分 |
|---|---|---|---|---|---|---|---|
| Python | 5 | 5 | 5 | 4 | 5 | 3 | 40.0 |
| Node.js | 5 | 5 | 4 | 5 | 4 | 3 | 39.0 |
| Go | 3 | 4 | 4 | 3 | 5 | 5 | 32.0 |
| Java | 2 | 3 | 5 | 3 | 3 | 4 | 27.0 |
| Rust | 1 | 2 | 3 | 2 | 3 | 5 | 19.0 |
Node 联调更高;Python 生态与运维轻松度略胜。前端主导可直接选 Node。
Python + FastAPI
默认业务后端
Node.js
前端主导 / BFF
Go
定型后单二进制
Rust / Java
编译与仪式更重
无编译 + reload,对齐 G1
校验与 OpenAPI 开箱,对齐 G2/G3
ecs_api + Dockerfile,对齐 G4
接口定型,需要单二进制、长期低运维。
已有明确 CPU/延迟瓶颈,且业务形态稳定。
组织规范强制 Spring 生态。
仅「听说某语言更快」——先把 FastAPI 跑通并度量。
健康检查,容器与编排探活。
GET 列表 · POST 创建 · 内存存储。
OpenAPI UI,前端对照字段。
python:3.12-slim · 暴露 8000。
Python 3 + FastAPI
次选 Node · 中期 Go · 非首版 Rust/Java