---
title: 概述
taxonomy:
    category: docs
---

我们都知道，互联网服务的核心价值在于流量，流量越大，平台的盈利机会和发展空间就越大，这也是为何大厂总是倾向于招聘拥有高并发经验的研发人员。2007 年，中国电子商务总和交易额突破一万亿人民币，网民数量快速增加，中国互联网正式进入了高并发时代。之后，大厂与创业公司之间的技术壁垒不断加强。如今，掌握高并发技术已成为大厂技术人员的基本要求。

当然，大厂可以为我们提供高并发系统架构设计的实践机会。然而，如果你没有相关的架构设计经验，大厂的大门又怎会向你敞开呢？这就形成了一个逻辑悖论。

难道我们只能一直陷在这个困境中吗？实际上，我们自己也是这些高并发应用的用户，例如使用微信、使用搜索引擎、刷微博、刷短视频。我们只需要将自己从用户角色转换为设计者的角色，想象自己成为这些大厂的架构师，设身处地思考：如果我来设计这个系统，我该怎么做。

尽管我们都知道高并发的重要性，并学习了许多高并发系统设计的技术资料，但仍然会感到困惑：为什么我们仍然缺乏对设计一个完整的高并发系统的了解？

这是因为你缺乏真实业务场景中的架构设计经验。没有亲自接触过真实的业务需求，就无法感受到面对压力、迎接挑战以及完成任务后的喜悦和轻松。只有通过真实的现场感受，我们学到的各种技术才能真正融会贯通，而不只是一堆零碎知识的杂乱集合。就像那句著名的“我听过很多道理，却仍然过不好这一生”。归根结底，还是缺乏实践。

通过阅读本书，你可以“化身”为那个真的需要解决高并发问题的人，借助笔者的真实高并发处理经验，身临其境地站在架构师的角度，深入理解高并发系统设计的哲学原理。

### 找出单点，进行拆分

开门见山，先说结论，高并发的哲学原理就是——找出单点，进行拆分。要将每一个**“大单点”**都拆成**“一个小单点 + 多个资源并行”**的形式。

### “单点”的定义  

单点指的是一个 Web 系统中，几乎所有流量都必须经过的特定部分，如果它出现瓶颈或故障，将导致整个系统的性能下降或不可用。单点是一个逻辑概念，在系统架构层面它可能指代各种不同层面的软件、硬件实体。在传统的单体式应用中，可以说遍地都是单点。

在解决高并发问题的过程中，我们会不断地遇到各种单点：Web Server、单个操作系统、虚拟化/容器技术、编程语言运行架构、网络、Unix 进程模型、数据库等。每遇到一个单点，我们都要见招拆招，使用架构工具拆掉它。计算机的虚拟化程度非常高，理论上每个单点都是可以继续往下拆分的。
