技术圈最近几年出现一个明显趋势:
- 过去大家疯狂拆单体,上微服务。
- 现在很多公司开始“服务合并”,回归单应用。
于是两派争论不断:
- 微服务派:单体是落后架构。
- 单体派:微服务是过度设计。
但如果用系统演化的视角看,会发现一个有意思的真相:
架构从来不是先进与否的问题,
而是是否匹配当前业务复杂度。
而历史上,秦与汉的更替,恰好是一次经典的架构演化样本。
一、秦:一个高度集中的“单应用系统”
秦始皇 建立的国家结构,本质上是:
强中心、强一致、低自治的单应用架构。
核心特征:
- 地方无自治模块(郡县制)
- 所有关键决策汇聚中央
- 统一协议(文字、度量衡、法律)
- 强一致性执行
在“统一六国”的阶段,这种架构极其高效。
就像一个创业公司:
- 创始人拍板快
- 组织链路短
- 方向一致
- 执行迅猛
问题不在统一阶段。
问题在统一之后。
二、秦二世而亡:架构能力 < 业务复杂度
秦统一后,系统复杂度急剧上升:
- 地域扩大数倍
- 民族结构多样化
- 边疆军事压力长期存在
- 经济形态差异巨大
这相当于:
1 | 系统规模 x10 |
但架构没有升级。
仍然是:
- 单中心决策
- 高压执行
- 强一致模型
- 无自治模块
当复杂度超过架构承载能力时,会发生三件事:
1️⃣ 核心节点过载
皇帝成为唯一核心实例。
信息流、决策流全部集中。
一旦核心判断失误,影响是全局性的。
2️⃣ 局部问题无法局部消化
在单应用里:
1 | 模块之间高度耦合 |
局部民变,很快变成系统级崩溃。
没有“自治单元”可以隔离问题。
3️⃣ 无容灾机制
秦二世 继位之后,
核心实例性能下降。
但系统没有:
- 副本机制
- 权力缓冲层
- 自治结构
结果就是:
单点退化 = 全局崩溃
这不是简单的“暴政问题”。
这是:
架构能力无法支撑增长后的业务复杂度。
秦的失败,本质是:
1 | 业务规模快速扩张 |
三、单应用的优势与边界
单应用(Monolith)本身并不落后。
它在以下阶段非常合适:
- 0 → 1
- 组织规模小
- 业务领域简单
- 决策链短
优点非常明显:
- 部署简单
- 运维成本低
- 调试方便
- 强一致性
但问题在于:
当业务领域复杂度激增时,单体系统很难划清边界。
长期演进后会出现:
- 模块耦合
- 发布风险扩大
- 团队协作冲突
- 变更牵一发而动全身
这正是很多中大型企业的真实困境。
四、秦 → 汉:一次系统重构
刘邦 建立汉朝后,没有完全复制秦的架构。
而是做了一次关键调整:
在单中心之上,引入“局部自治模块”。
汉初:
- 分封诸侯王
- 地方拥有一定自主权
- 中央与地方形成博弈关系
这相当于:
1 | 单体系统 → 加入模块化结构 |
虽然产生“七国之乱”,
但系统并未崩溃。
因为:
局部问题,可以局部解决。
后来到 汉武帝 时,
又逐步收回过度自治,
形成:
1 | 中心 + 受控自治 |
这是一种演化后的混合架构。
既避免完全单体,
也避免完全分布式失控。
汉朝寿命远超秦,
不是因为“更仁慈”。
而是因为:
架构开始匹配复杂度。
五、为什么今天很多企业在“回归单应用”?
过去十年,
企业高速增长,
组织复杂度激增,
微服务成为自然选择。
微服务解决的是:
- 领域拆分
- 团队并行
- 独立扩容
- 快速迭代
但现在很多企业面临:
- 业务增长放缓
- 成本压力上升
- 团队规模收缩
这时:
1 | 架构复杂度 > 当前业务复杂度 |
于是开始合并服务。
这不是倒退。
这是规模回调。
六、真正的核心变量
架构的选择,本质上取决于:
1 | 业务复杂度 × 组织规模 |
- 小规模 + 低复杂度 → 单应用
- 高规模 + 多领域 → 微服务
- 收缩期 → 适度合并
错误不在于用哪种。
错误在于:
规模变化了,架构没变。
秦的错误是:规模爆炸,架构未升级。
有些公司现在的错误是:规模收缩,架构没降级。
七、最后的思考
单应用不是落后。
微服务不是先进。
真正的问题是:
你的架构,是否还匹配当前业务阶段?
秦的教训不是“不要集权”。
而是:
当系统规模指数级增长时,
创业阶段的架构必须演化。
否则,增长本身会成为压力源。
而汉朝给我们的启示是:
架构演化,比架构选择更重要。
系统不会因为选择单体或微服务而失败。
系统会因为:
在复杂度变化时,没有及时重构。
👇👇👇 扫码体验小程序 👇👇👇

👇👇👇 扫码关注公众号 👇👇👇

