服务端知识体系(Server-Side)MOC
服务端开发、部署、运维的完整知识体系
学习路径:
- 📖 入门:服务端语言、Web 服务器、基础部署
- 🚀 进阶:数据库、API 设计、容器化、CI/CD
- 💡 高级:架构设计、性能优化、安全防护、监控运维
📚 知识体系
1. 服务端语言(Server-Side Languages)
服务端开发语言和框架。
Node.js
- Node.js 知识体系 — Node.js 完整知识体系
- 基础入门与核心模块
- 框架与生态(Express、Koa、Nest.js)
- 数据库操作
- 异步编程
- API 开发
- 认证与授权
- 性能优化
- 测试
Java
- Java 知识体系 — Java 完整知识体系
- 基础入门与面向对象
- 核心特性(集合、异常、多线程)
- Web 框架(Spring、Spring Boot)
- 数据库操作(JDBC、MyBatis、Hibernate)
- API 开发
- 微服务架构
- 性能优化
- 测试
2. Web 服务器(Web Server)
Web 服务器的配置、优化和管理。
Nginx
- Nginx 知识体系 — Nginx 完整配置指南
- 基础配置与安装
- 反向代理与负载均衡
- HTTPS 与安全配置
- 性能优化与缓存
- 日志管理与监控
Apache
- Apache 基础配置(待整理)
- Apache 与 Nginx 对比(待整理)
3. 数据库(Database)
数据库的安装、配置和优化。
关系型数据库
- MySQL
- MySQL 安装与配置(待整理)
- SQL 语法与查询(待整理)
- 数据库设计原则(待整理)
- 性能优化与索引(待整理)
- PostgreSQL
- PostgreSQL 安装与配置(待整理)
- PostgreSQL 特性(待整理)
- 性能优化(待整理)
NoSQL 数据库
- MongoDB
- MongoDB 安装与配置(待整理)
- MongoDB 操作与查询(待整理)
- 性能优化(待整理)
- Redis
- Redis 安装与配置(待整理)
- Redis 数据结构(待整理)
- 缓存策略设计(待整理)
4. 部署与运维(Deployment & Operations)
应用的部署、运维和监控。
云平台部署
- 腾讯云部署指南 — 腾讯云服务器部署实践
- 服务器环境配置
- 多项目部署
- HTTPS 配置
- 域名解析
- 阿里云部署(待整理)
- AWS 部署(待整理)
静态网站部署
- 零基础搭建 GitHub 笔记仓库完整教程 — 从零开始搭建 GitHub 笔记仓库(推荐新手)
- 创建 GitHub 账号和仓库
- 安装必要软件(Git、Node.js)
- 配置项目文件
- 配置 GitHub Pages
- 配置 GitHub Actions 工作流
- 部署和测试
- 常见问题解答
- GitHub Pages 部署指南 — GitHub Pages 完整部署教程
- GitHub Pages 基础使用
- GitHub Actions 自动部署
- 自定义域名配置
- HTTPS 配置
- 常见问题排查
- Quartz 定制教程 — Quartz 静态网站生成器定制指南
- 配置文件详解
- 主题和样式定制
- 布局和组件定制
- 插件配置
- 功能扩展
- Quartz 完整修复指南 — Quartz 问题修复和配置完整指南
- 环境准备和依赖安装
- 配置文件说明
- 图片路径修复
- 双链路径修复
- GitHub Actions 自动部署
- 常见问题排查
容器化部署
- Docker
- Docker 知识体系 — Docker 完整知识体系
- 基础入门(安装、概念、基本命令)
- 镜像管理(构建、优化、仓库)
- 容器管理(运行、资源限制、数据管理)
- Dockerfile 编写与高级应用
- Docker Compose 多服务编排
- 网络与存储
- 安全与最佳实践
- 生产环境部署
- 故障排查
- Docker 知识体系 — Docker 完整知识体系
- Docker Compose
- 见 Docker 知识体系 — Docker Compose 章节
- Kubernetes (K8s)
- Kubernetes 基础(待整理)
- Pod 与 Service(待整理)
- Deployment 与 ReplicaSet(待整理)
- 配置管理与存储(待整理)
CI/CD 流程
- CD 目录说明 — 持续集成与持续交付专题
- GitHub Actions
- GitLab CI
- 自动化部署流水线
进程管理
- 进程管理目录说明 — 进程守护与服务管理
5. API 设计(API Design)
API 的设计、开发和文档化。
RESTful API
- RESTful API 知识体系 — RESTful API 完整知识体系
- REST API 设计原则 — REST API 设计原则和规范
- REST API 最佳实践 — REST API 最佳实践(错误处理、安全、性能优化、文档化)
GraphQL
- GraphQL Schema 设计(待整理)
- Resolver 实现(待整理)
- GraphQL 性能优化(待整理)
- Apollo Server(待整理)
6. 安全(Security)
服务端安全防护措施。
认证与授权
- JWT 认证实现(待整理)
- OAuth 2.0 授权流程(待整理)
- Session 管理(待整理)
- 单点登录(SSO)(待整理)
安全防护
- SQL 注入防护(待整理)
- XSS 防护(待整理)
- CSRF 防护(待整理)
- 安全头部配置(待整理)
- 数据加密(待整理)
- HTTPS 配置(待整理)
7. 性能优化(Performance Optimization)
服务端性能优化策略。
数据库优化
- 数据库查询优化(待整理)
- 索引设计与优化(待整理)
- 数据库连接池(待整理)
- 分库分表(待整理)
缓存策略
- Redis 缓存设计(待整理)
- 缓存更新策略(待整理)
- 缓存穿透、击穿、雪崩(待整理)
- CDN 配置(待整理)
负载均衡
- Nginx 负载均衡(待整理)
- 负载均衡策略(待整理)
- 高可用架构(待整理)
- 服务降级与熔断(待整理)
8. 监控与日志(Monitoring & Logging)
系统的监控、日志和告警。
监控系统
- Prometheus 监控(待整理)
- Grafana 可视化(待整理)
- 服务器监控指标(待整理)
- 应用性能监控(APM)(待整理)
日志管理
- 日志收集与分析(待整理)
- ELK Stack(待整理)
- 日志轮转与清理(待整理)
- 日志聚合(待整理)
告警系统
- 告警规则配置(待整理)
- 告警通知(待整理)
- 告警升级(待整理)
9. 架构设计(Architecture)
服务端架构设计模式。
微服务架构
- 微服务设计原则(待整理)
- 服务拆分策略(待整理)
- 服务间通信(待整理)
- 服务注册与发现(待整理)
- 配置中心(待整理)
消息队列
- RabbitMQ 消息队列(待整理)
- Kafka 消息队列(待整理)
- 消息队列应用场景(待整理)
- 消息队列选型(待整理)
分布式系统
- 分布式系统设计(待整理)
- 分布式事务(待整理)
- 分布式锁(待整理)
- 分布式一致性(待整理)
- CAP 理论(待整理)
🎯 学习路径
阶段一:基础入门
目标:能够开发简单的服务端应用并部署
学习顺序:
- Node.js 基础 或 Java 基础 — 选择一种服务端语言
- Nginx 基础配置 — 理解 Web 服务器配置
- 腾讯云部署指南 — 掌握服务器部署流程
学习检查点:
- ✅ 能够使用 Node.js 或 Java 开发简单 API
- ✅ 能够配置 Nginx 反向代理
- ✅ 能够在云服务器上部署应用
- ✅ 能够配置 HTTPS 证书
阶段二:进阶实践
目标:掌握数据库操作、容器化部署和 CI/CD
学习顺序:
- 数据库操作(MySQL、MongoDB、Redis)
- Docker 容器化部署
- CI/CD 流程配置
- API 设计与开发
学习检查点:
- ✅ 能够使用数据库进行数据操作
- ✅ 能够使用 Docker 容器化应用
- ✅ 能够配置 CI/CD 自动化部署
- ✅ 能够设计 RESTful API
阶段三:高级应用
目标:掌握架构设计和性能优化
学习顺序:
- 数据库优化
- 缓存策略设计
- 负载均衡配置
- 监控与日志系统
- 微服务架构设计
学习检查点:
- ✅ 能够优化数据库性能
- ✅ 能够设计缓存策略
- ✅ 能够配置监控系统
- ✅ 能够设计微服务架构
📖 专题索引
按场景快速查找
开发相关
- Node.js 知识体系 — Node.js 开发
- Java 知识体系 — Java 开发
- API 设计(待整理)
部署相关
- 腾讯云部署指南 — 云服务器部署实践
- Docker 知识体系 — Docker 容器化部署
- CI/CD 自动化部署(待整理)
配置相关
- Nginx 配置指南 — Nginx 完整配置
- 数据库配置(待整理)
- 反向代理配置(待整理)
优化相关
- 数据库性能优化(待整理)
- 缓存策略设计(待整理)
- 负载均衡配置(待整理)
安全相关
- HTTPS 配置(待整理)
- 安全防护措施(待整理)
- 认证授权实现(待整理)
🔗 相关链接
前置知识
进阶学习
外部资源
📌 使用说明
目录结构
03-服务端/
├── !MOC-服务端.md # 主索引文件
├── README.md # 目录说明
├── 01-服务端语言/ # 服务端语言
│ ├── Node.js/
│ │ └── !MOC-Node.js.md
│ └── Java/
│ └── !MOC-Java.md
├── 02-Web服务器/ # Web 服务器
│ ├── nginx/
│ │ └── 已迁移至 `07-基础设施与运维/02-Web服务器/Nginx`
│ └── apache/
├── 03-数据库/ # 数据库
│ ├── 01-关系型数据库/
│ │ ├── MySQL/
│ │ └── PostgreSQL/
│ └── 02-NoSQL/
│ ├── MongoDB/
│ └── Redis/
├── 04-部署与运维/ # 部署与运维
│ ├── 云平台部署/
│ │ └── 腾讯云部署指南.md
│ ├── 容器化/
│ │ ├── Docker/
│ │ └── Kubernetes/
│ ├── 已迁移至 `06-架构与工程/04-CI-CD`
│ └── 已迁移至 `07-基础设施与运维/06-进程管理`
├── 05-API设计/ # API 设计
│ ├── RESTful/
│ └── GraphQL/
├── 06-安全/ # 安全
│ ├── 认证授权/
│ └── 安全防护/
├── 07-性能优化/ # 性能优化
│ ├── 数据库优化/
│ ├── 缓存策略/
│ └── 负载均衡/
├── 08-监控与日志/ # 监控与日志
│ ├── 监控系统/
│ ├── 日志管理/
│ └── 告警系统/
└── 09-架构设计/ # 架构设计
├── 微服务/
├── 消息队列/
└── 分布式系统/
文件命名规范
- MOC 文件:
!MOC-分类名.md(如!MOC-Node.js.md) - 普通文件:使用中划线分隔(如
腾讯云部署指南.md) - 目录名:使用数字前缀+中划线+名称(如
01-服务端语言)
最后更新:2025
维护规范:每次新增笔记后,在对应 MOC 中加入链接