Backend Technology Stack Knowledge Base 2026
框架选型 · 中间件选型 · 架构模式 · 数据库选型 · API 网关 · DevOps 部署
| 框架 | 性能 | 开发效率 | 生态 | 可维护性 | 云原生 | 总分 | 推荐场景 |
|---|---|---|---|---|---|---|---|
| FastAPI | 88 |
API 开发、微服务、AI 应用 | |||||
| Spring Boot | 86 |
企业级应用、复杂业务 | |||||
| Gin (Go) | 88 |
高并发、云原生 | |||||
| Actix (Rust) | 82 |
高性能计算、系统级 | |||||
| NestJS | 86 |
全栈开发、TypeScript |
优势:极高性能、自动 OpenAPI 文档、异步支持、类型安全
场景:RESTful API、微服务、AI 服务化
QPS:15,000+
优势:全功能框架、ORM、Admin、安全性高
场景:CMS、电商平台、SaaS 应用
QPS:8,000+
优势:轻量级、灵活、扩展丰富
场景:小型服务、原型验证
QPS:5,000+
优势:企业级首选、生态成熟、Spring Cloud
场景:大型企业系统、金融电信、微服务
QPS:8,000+
优势:超快启动、低内存、GraalVM 优化
场景:Serverless、容器化微服务
启动:<100ms
优势:极致性能、简洁 API、中间件丰富
场景:高并发 API、微服务网关
QPS:25,000+
优势:轻量级、内置验证、自动 OpenAPI
场景:RESTful API、微服务
优势:业界最快、内存安全、零成本抽象
场景:高性能计算、实时交易、游戏服务器
QPS:50,000+
优势:Ergonomic API、Tokio 生态、Tower 中间件
场景:异步服务、云原生应用
| 中间件 | 类型 | QPS | 延迟 | 特性 | 适用场景 |
|---|---|---|---|---|---|
| Redis | Key-Value + 数据结构 | 110,000+ | <1ms | 持久化 发布订阅 分布式锁 | 缓存、会话、排行榜、消息队列 |
| Memcached | Key-Value | 80,000+ | <1ms | 多线程 LRU | 简单缓存、会话共享 |
吞吐量:100 万+ msg/s
延迟:10-100ms
场景:日志收集、实时数据管道、事件溯源、流式计算
吞吐量:5-10 万 msg/s
延迟:<5ms
场景:企业集成、任务队列、延迟消息、RPC
特点:存算分离、多租户、分层存储
场景:云原生消息平台、多租户 SaaS、金融交易
| 引擎 | 特点 | 索引速度 | 查询延迟 | 适用场景 |
|---|---|---|---|---|
| Elasticsearch | 全文检索、分布式分析 | 10 万+ docs/s | <100ms | 日志分析、商品搜索、APM |
| OpenSearch | ES 分支、完全开源 | 10 万+ docs/s | <100ms | AWS 环境、许可证敏感 |
战略设计:限界上下文、通用语言、子域划分
战术设计:实体、值对象、聚合根、仓储、领域事件
适用:复杂业务系统、长期演进项目
核心:读写模型分离、独立优化扩展
优势:性能优化、安全隔离、团队并行
适用:读写差异大、高并发读取
核心:存储事件而非状态、重放重建
优势:完整审计、时间旅行、天然 Event Stream
适用:金融系统、合规要求、复杂业务
拆分:按业务能力、按子域、按变更频率
通信:REST/gRPC(同步)、消息队列(异步)
治理:API 网关、服务网格、Saga 事务
┌─────────────────────────────────────────────────────┐
│ Commands │
│ ↓ │
│ ┌───────────────────────────────────────────────┐ │
│ │ Command Handlers │ │
│ │ ↓ │ │
│ │ ┌─────────────────────────────────────┐ │ │
│ │ │ Aggregates (Domain) │ │ │
│ │ │ ↓ │ │ │
│ │ │ Generate Domain Events │ │ │
│ │ └─────────────────────────────────────┘ │ │
│ │ ↓ │ │
│ │ Append to Event Store │ │
│ └───────────────────────────────────────────────┘ │
│ ↓ │
│ Events Published │
│ │ │
│ ┌───────────────┼───────────────┐ │
│ │ │ │ │
│ ┌────▼────┐ ┌──────▼──────┐ ┌─────▼─────┐ │
│ │ Read │ │ Read Model │ │ External │ │
│ │ Model │ │ Updater │ │ Systems │ │
│ │ Updater │ │ │ │ │ │
│ └────┬────┘ └──────┬──────┘ └───────────┘ │
│ │ │ │
│ ┌────▼────┐ ┌──────▼──────┐ │
│ │Read DB │ │ Read DB │ │
│ └────┬────┘ └──────┬──────┘ │
│ │ │ │
│ └───────────────┼─────────────────┘ │
│ ↓ │
│ Queries │
└─────────────────────────────────────────────────────┘
| 数据库 | SQL 标准 | 事务 | JSON 支持 | 扩展性 | GIS | 推荐场景 |
|---|---|---|---|---|---|---|
| PostgreSQL | 完全兼容 | Serializable | JSONB (优秀) | 垂直扩展 | PostGIS (优秀) | 复杂业务、GIS、数据分析 |
| MySQL | 部分兼容 | Repeatable Read | JSON (良好) | 分库分表 | 一般 | Web 应用、CMS、电商 |
| TiDB | MySQL 协议 | Snapshot Isolation | JSON (良好) | 水平扩展 | 良好 | 海量数据、HTAP |
模型:文档数据库(BSON)
优势:灵活 Schema、丰富查询、聚合框架
场景:内容管理、用户画像、日志存储
模型:Key-Value + 数据结构
优势:极速读写、丰富数据类型
场景:缓存、会话、排行榜、消息队列
模型:宽列存储
优势:线性扩展、高写入、多数据中心
场景:时序数据、消息历史、IoT
┌─────────────────────────────────────┐
│ Application Layer │
└──────────────┬──────────────────────┘
│
┌──────────┼──────────┐
│ │ │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│PostgreSQL│ │MongoDB│ │ Redis │
│(核心业务)│ │(内容) │ │(缓存) │
└───┬───┘ └───┬───┘ └───┬───┘
│ │ │
└──────────┼─────────┘
│
┌─────▼─────┐
│Elasticsearch│
│ (搜索) │
└───────────┘
| 网关 | 性能 | 易用性 | 功能性 | 扩展性 | 总分 | 推荐场景 |
|---|---|---|---|---|---|---|
| Apache APISIX | 95 | 90 | 90 | 95 | 91 |
云原生、微服务、高并发 |
| Kong | 85 | 95 | 90 | 85 | 90 |
企业应用、快速部署 |
| Traefik | 85 | 90 | 80 | 90 | 86 |
K8s 原生、动态发现 |
| Envoy | 95 | 70 | 85 | 90 | 85 |
Service Mesh、高性能 |
| 工具 | 类型 | 优势 | 劣势 | 适用场景 |
|---|---|---|---|---|
| Jenkins | 自建 | 插件丰富、灵活定制 | 运维成本高 | 大型企业、复杂流程 |
| GitLab CI | 自建/SaaS | 与 GitLab 深度集成 | 依赖 GitLab | GitLab 用户 |
| GitHub Actions | SaaS | 生态丰富、免费额度 | 私有化困难 | GitHub 项目 |
| ArgoCD | 自建 | GitOps、K8s 原生 | 仅支持 K8s | Kubernetes 环境 |
特点:零停机、渐进式
配置:maxSurge: 1, maxUnavailable: 0
特点:快速切换、快速回滚
成本:需要双倍资源
特点:渐进式流量切换
比例:10% → 30% → 50% → 100%