🚀 后端技术栈知识库

Backend Technology Stack Knowledge Base 2026

框架选型 · 中间件选型 · 架构模式 · 数据库选型 · API 网关 · DevOps 部署

⚡ 后端框架选型指南

📊 框架综合评分

框架 性能 开发效率 生态 可维护性 云原生 总分 推荐场景
FastAPI
88
API 开发、微服务、AI 应用
Spring Boot
86
企业级应用、复杂业务
Gin (Go)
88
高并发、云原生
Actix (Rust)
82
高性能计算、系统级
NestJS
86
全栈开发、TypeScript

🐍 Python 框架

FastAPI ⭐⭐⭐⭐⭐

优势:极高性能、自动 OpenAPI 文档、异步支持、类型安全

场景:RESTful API、微服务、AI 服务化

QPS:15,000+

高性能 异步 类型安全
Django ⭐⭐⭐⭐

优势:全功能框架、ORM、Admin、安全性高

场景:CMS、电商平台、SaaS 应用

QPS:8,000+

全功能 ORM 安全
Flask ⭐⭐⭐

优势:轻量级、灵活、扩展丰富

场景:小型服务、原型验证

QPS:5,000+

轻量 灵活

☕ Java 框架

Spring Boot ⭐⭐⭐⭐⭐

优势:企业级首选、生态成熟、Spring Cloud

场景:大型企业系统、金融电信、微服务

QPS:8,000+

企业级 微服务 生态完善
Quarkus ⭐⭐⭐⭐

优势:超快启动、低内存、GraalVM 优化

场景:Serverless、容器化微服务

启动:<100ms

快速启动 云原生

🚀 Go 框架

Gin ⭐⭐⭐⭐⭐

优势:极致性能、简洁 API、中间件丰富

场景:高并发 API、微服务网关

QPS:25,000+

高性能 简洁 云原生
Echo ⭐⭐⭐⭐

优势:轻量级、内置验证、自动 OpenAPI

场景:RESTful API、微服务

轻量 验证

🦀 Rust 框架

Actix-web ⭐⭐⭐⭐⭐

优势:业界最快、内存安全、零成本抽象

场景:高性能计算、实时交易、游戏服务器

QPS:50,000+

极致性能 内存安全 无 GC
Axum ⭐⭐⭐⭐

优势:Ergonomic API、Tokio 生态、Tower 中间件

场景:异步服务、云原生应用

ergonomic 异步

🎯 选型决策树

开始选型
↓ 高性能需求
Go / Rust
Gin
Actix
↓ 快速开发
Python / Node
FastAPI
NestJS
↓ 企业级需求
Java / .NET
Spring Boot
ASP.NET Core

🔧 中间件选型指南

💾 缓存中间件

中间件 类型 QPS 延迟 特性 适用场景
Redis ⭐⭐⭐⭐⭐ Key-Value + 数据结构 110,000+ <1ms 持久化 发布订阅 分布式锁 缓存、会话、排行榜、消息队列
Memcached ⭐⭐⭐ Key-Value 80,000+ <1ms 多线程 LRU 简单缓存、会话共享

📨 消息队列

Apache Kafka ⭐⭐⭐⭐⭐

吞吐量:100 万+ msg/s

延迟:10-100ms

场景:日志收集、实时数据管道、事件溯源、流式计算

高吞吐 持久化 流处理
RabbitMQ ⭐⭐⭐⭐

吞吐量:5-10 万 msg/s

延迟:<5ms

场景:企业集成、任务队列、延迟消息、RPC

AMQP 灵活路由 可靠
Apache Pulsar ⭐⭐⭐⭐

特点:存算分离、多租户、分层存储

场景:云原生消息平台、多租户 SaaS、金融交易

云原生 多租户 低成本

🔍 搜索引擎

引擎 特点 索引速度 查询延迟 适用场景
Elasticsearch 全文检索、分布式分析 10 万+ docs/s <100ms 日志分析、商品搜索、APM
OpenSearch ES 分支、完全开源 10 万+ docs/s <100ms AWS 环境、许可证敏感

🏗️ 架构模式与设计原则

📐 核心架构模式

DDD 领域驱动设计

战略设计:限界上下文、通用语言、子域划分

战术设计:实体、值对象、聚合根、仓储、领域事件

适用:复杂业务系统、长期演进项目

业务导向 高内聚 可演进
CQRS 命令查询职责分离

核心:读写模型分离、独立优化扩展

优势:性能优化、安全隔离、团队并行

适用:读写差异大、高并发读取

读写分离 可扩展
Event Sourcing 事件溯源

核心:存储事件而非状态、重放重建

优势:完整审计、时间旅行、天然 Event Stream

适用:金融系统、合规要求、复杂业务

可追溯 审计 灵活
Microservices 微服务

拆分:按业务能力、按子域、按变更频率

通信:REST/gRPC(同步)、消息队列(异步)

治理:API 网关、服务网格、Saga 事务

解耦 独立部署 可扩展

🔄 CQRS + ES 架构图


┌─────────────────────────────────────────────────────┐
│                  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

🗄️ NoSQL 数据库

MongoDB ⭐⭐⭐⭐⭐

模型:文档数据库(BSON)

优势:灵活 Schema、丰富查询、聚合框架

场景:内容管理、用户画像、日志存储

灵活 文档 易扩展
Redis

模型:Key-Value + 数据结构

优势:极速读写、丰富数据类型

场景:缓存、会话、排行榜、消息队列

高速 内存
Cassandra

模型:宽列存储

优势:线性扩展、高写入、多数据中心

场景:时序数据、消息历史、IoT

高写入 分布式

🎯 混合持久化策略


┌─────────────────────────────────────┐
│       Application Layer             │
└──────────────┬──────────────────────┘
               │
    ┌──────────┼──────────┐
    │          │          │
┌───▼───┐ ┌───▼───┐ ┌───▼───┐
│PostgreSQL│ │MongoDB│ │ Redis │
│(核心业务)│ │(内容) │ │(缓存) │
└───┬───┘ └───┬───┘ └───┬───┘
    │          │         │
    └──────────┼─────────┘
               │
         ┌─────▼─────┐
         │Elasticsearch│
         │  (搜索)     │
         └───────────┘
                

🌐 API 网关选型

📊 网关综合对比

网关 性能 易用性 功能性 扩展性 总分 推荐场景
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、高性能

🎯 选型决策

K8s 环境
Traefik
高性能需求
APISIX / Envoy
企业应用
Kong

🚀 DevOps 与部署方案

🔄 CI/CD 工具对比

工具 类型 优势 劣势 适用场景
Jenkins 自建 插件丰富、灵活定制 运维成本高 大型企业、复杂流程
GitLab CI 自建/SaaS 与 GitLab 深度集成 依赖 GitLab GitLab 用户
GitHub Actions SaaS 生态丰富、免费额度 私有化困难 GitHub 项目
ArgoCD 自建 GitOps、K8s 原生 仅支持 K8s Kubernetes 环境

📦 容器化最佳实践

✅ 应该做的
  • ✓ 使用官方基础镜像
  • ✓ 多阶段构建
  • ✓ 使用.dockerignore
  • ✓ 非 root 用户运行
  • ✓ 合并 RUN 指令
  • ✓ 使用固定版本标签
  • ✓ 添加 HEALTHCHECK
❌ 不应该做的
  • ✗ 不要使用 latest 标签
  • ✗ 不要存储敏感信息
  • ✗ 不要以 root 运行
  • ✗ 不要安装不必要的包
  • ✗ 不要忽略镜像大小

🎛️ Kubernetes 部署策略

滚动更新

特点:零停机、渐进式

配置:maxSurge: 1, maxUnavailable: 0

零停机 默认策略
蓝绿部署

特点:快速切换、快速回滚

成本:需要双倍资源

快速 双倍资源
金丝雀发布

特点:渐进式流量切换

比例:10% → 30% → 50% → 100%

灰度 可控