Skip to main content

序言

后端领域的发展脉络,本质上是一部「如何用更多机器、更少人工,稳定承载更大流量」的演进史。从早期的 LAMP 单体架构,到后来的分布式微服务、云原生、Service Mesh,再到如今 AI 驱动的可观测性体系,每一次技术变革的背后,都是对吞吐量、延迟、一致性、可用性这四个核心指标的极致追求。

之前很多后端知识都是在业务开发中"按需索取"、零散积累的。但随着系统复杂度的提升(特别是高并发场景下的雪崩、穿透、击穿、分布式事务等),单纯的"CRUD 工程师"已经无法胜任架构设计与性能调优。因此,本知识库不再停留在 API 怎么用,而是回归底层原理(V8 引擎、InnoDB、TCP/IP、Linux 内核)、聚焦工程化闭环(CI/CD、可观测性、SRE)、并提供可落地的面试与生产实战方案

⏳ 后端生态演进时间线

理解一个技术的诞生背景,能帮我们更精准地判断它在当前架构中的位置。

年份运行时 / 协议架构与中间件部署与基础设施
2009Node.js, ES5--
2010npmExpress-
2013-Docker 诞生-
2014-Koa, gRPC (Google 内部)Kubernetes 开源
2015ES6/2015--
2016-GraphQLAWS Lambda 引领 Serverless
2017TypeScript 2.x--
2018Node 10 (HTTP/2)Envoy 推动 Service MeshHelm 1.0
2019-NestJS, Deno 1.0-
2020-Kafka 主流化eBPF 进入生产环境
2021Node 16 (V8 9.0)OpenTelemetry GAWebAssembly 走向服务端
2022-Bun 横空出世Edge Runtime / Deno Deploy
2023-Vector DB 兴起 (Milvus)可观测性三件套标准化
2024+AI 辅助代码生成LLM Agent 工程化Rust 化基础设施 (Rspack, TiKV)

核心启示:现代后端的复杂度已远超"一个语言 + 一个框架"的范畴,操作系统、网络、数据库、分布式、运维、可观测性 缺一不可。掌握底层原理是穿越技术周期的唯一路径。

🌳 核心知识树

本知识库围绕以下核心模块展开,按"从语言到系统"的层级组织:

🟢 一、Node.js 全栈核心(语言与运行时层)

这是后端知识体系的第一站,也是从前端转全栈的天然入口。

  • 运行时原理:V8 引擎内存管理与 GC(Orinoco / Scavenger / Major GC)、libuv 异步 I/O 架构、宏任务与微任务调度、模块化底层包装机制。
  • 核心机制:Event Loop 6 个阶段、Node 主线程与 libuv 线程池协作、worker_threads CPU 密集场景、Cluster 端口共享(句柄传递 + SCM_RIGHTS)。
  • I/O 与性能:Buffer 内存分配、大文件处理与背压(Backpressure)、Stream 4 种模式、网络 I/O 走 epoll/kqueue 不走线程池的关键点。
  • 框架工程化:Express → Koa(洋葱模型)→ NestJS(Angular 风格 IoC + AOP + 微服务优先),理解中间件链与依赖注入的本质。
  • 稳定性:进程级异常监控(uncaughtException / unhandledRejection)、PM2 进程守护、Cluster 自愈、Winston/Pino 结构化日志。
  • 性能调优clinic.js 火焰图、wrk / autocannon 压测、Heap Snapshot 定位泄漏、AsyncLocalStorage 全链路追踪。

🗄️ 二、数据库与持久化(数据层)

  • 关系型数据库:MySQL(InnoDB 引擎、MVCC、索引 B+ 树、事务隔离级别、锁机制)、PostgreSQL(更丰富的 JSONB / 窗口函数)、SQLite(嵌入式场景)。
  • NoSQL:MongoDB(文档型、聚合管道、副本集)、Redis(数据结构底层 skiplist / dict、持久化 RDB/AOF、Cluster 分片、Stream)。
  • SQL 基础:三大范式与反范式取舍、JOIN 执行计划、慢查询优化(Explain / Profile)。
  • 高并发数据层设计:ORM 选型(TypeORM / Prisma / Sequelize)、缓存三剑客(穿透/击穿/雪崩)、读写分离、分库分表(ShardingSphere)、分布式 ID 方案。
  • CAP / BASE:一致性、可用性、分区容错的三角权衡,以及最终一致性在业务中的落地。

🏗️ 三、架构与安全(设计层)

  • API 设计:RESTful 规范与反 REST 思潮、GraphQL / tRPC 场景、版本演进、错误码规范、限流(漏桶/令牌桶/滑动窗口)。
  • 架构演进:单体 → 垂直拆分 → SOA → 微服务 → Serverless,理解每次演进的驱动力。
  • 鉴权与安全:Cookie/Session/JWT/OAuth 2.0/OIDC 演进、RBAC / ABAC 权限模型、CSRF / XSS / SSRF / SQL 注入攻防、HTTPS 与证书体系、密码学(bcrypt / RSA / 国密 SM 系列)。
  • 可扩展性:水平扩展 vs 垂直扩展、无状态化设计、配置中心、注册中心。

🚀 四、部署与运维(工程化层)

  • 容器化:Docker 镜像分层、Volume / Network 原理、多阶段构建、Docker Compose 编排。
  • 容器编排:Kubernetes 核心(Pod / Deployment / Service / Ingress)、Helm Chart、Operator、Istio Service Mesh。
  • Web Server 与网关:Nginx 反向代理 / 负载均衡(轮询/权重/IP Hash)、OpenResty + Lua 灰度发布、API 网关(Kong / APISIX)。
  • CI/CD:GitHub Actions / GitLab CI / Jenkins、自动化测试 → 灰度发布 → 回滚、Blue-Green / Canary 发布策略。
  • Linux 基础(待补充):常用命令、进程与线程、内存管理、iostat / vmstat / netstat 调优工具。

📡 五、消息队列与分布式(高级主题,待补充)

  • MQ 选型:RabbitMQ(AMQP 协议、Exchange 路由)vs Kafka(高吞吐日志流、分区副本)vs RocketMQ(事务消息)。
  • 分布式核心:分布式锁(Redis / ZK / DB)、分布式事务(2PC / 3PC / TCC / Saga / 本地消息表)、一致性协议(Paxos / Raft)、分布式 ID(Snowflake / Leaf)。
  • 微服务治理:服务发现、熔断(Hystrix / Sentinel)、限流、链路追踪(OpenTelemetry / Jaeger)、配置中心(Nacos / Apollo)。

📊 六、监控与可观测性(生产保障,待补充)

  • 三大支柱:Metrics(Prometheus)、Logs(ELK / Loki)、Traces(Jaeger / Tempo)。
  • 告警体系:Grafana 仪表盘、SLO / SLI / SRE 实践、OnCall 流程。
  • 性能分析perf / bpftrace / async-profiler 火焰图、慢 SQL 定位、慢请求全链路。

🧪 七、测试与质量保障(待补充)

  • 测试金字塔:单元测试(Jest / Mocha)、集成测试、契约测试(Pact)、E2E 测试。
  • 压测:wrk / ab / JMeter / k6、容量规划、TPS 与 P99 延迟关系。
  • 代码质量:ESLint / SonarQube、Code Review 机制、技术债管理。

🧠 八、设计模式与编码哲学

  • 后端设计模式:单例 / 工厂 / 策略 / 装饰器 / 责任链 / 发布订阅在后端业务中的实战。
  • DDD 领域驱动设计(待补充):实体 / 值对象 / 聚合根 / 限界上下文 / 领域事件。
  • 代码组织:Clean Architecture / Hexagonal Architecture、依赖倒置、接口隔离。

🎯 九、面试高频与难点

  • 综合面试题:从单机到分布式的 8 个递进问题、性能调优闭环方法论、P0 级线上事故复盘模板。

🎓 学习路径建议

不同阶段的工程师,建议按以下顺序递进:

  1. 入门(1-2 年):Node.js 核心 → MySQL / Redis 基础 → Docker → 一两个完整业务项目。
  2. 进阶(2-4 年):性能调优 → 分布式基础(锁、事务、ID)→ K8s 部署 → 可观测性。
  3. 高级(4-7 年):微服务架构 → Service Mesh → DDD → SRE / SLO 体系 → 跨语言栈(Go/Rust)。
  4. 资深(7+ 年):技术选型决策 → 大型系统架构设计 → 技术团队建设 → 成本与稳定性平衡。

📚 参考资源

站在巨人的肩膀上,以下是构建本知识库的重要参考资料: