File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -219,6 +219,41 @@ books: [
219219> 分布式系统不是"选择正确方案",
220220> 而是** 明确你愿意付出的代价** 。
221221
222+ ## 适用边界
223+
224+ ### 核心原则:代价先验
225+
226+ 分布式架构的** 本质是代价交换** ,而非能力增强。引入分布式之前,必须明确你愿意为之付出的代价。
227+
228+ ### 驱动因素:为什么必须分布式
229+
230+ 只有以下力量能驱动分布式架构的引入——缺少任何一个,分布式就是过度设计:
231+
232+ | 驱动力 | 本质 |
233+ | -------| ------|
234+ | ** 规模压力** | 单机算力/存储/带宽无法承载业务量 |
235+ | ** 可用性要求** | 单点故障不可接受,业务中断代价极高 |
236+ | ** 独立演进** | 业务领域边界清晰,需并行开发与发布 |
237+ | ** 地域分布** | 用户或数据有物理位置约束 |
238+
239+ ### 主要代价
240+
241+ 分布式系统引入的代价是** 不可消除的根本性成本** :
242+
243+ - ** 延迟** :跨网络调用比进程内调用更高
244+ - ** 一致性** :发生网络分区时,强一致性与高可用性不可兼得(CAP 约束)
245+ - ** 复杂性** :节点增多导致故障定位、版本管理、运维成本指数增长
246+ - ** 组织摩擦** :服务边界需要跨团队协调
247+
248+ ### 不适用场景的原则判断
249+
250+ 以下场景天然不适合分布式,应优先选择单体:
251+
252+ 1 . ** 业务规模未超出单机上限** — 分布式解决的是规模问题,规模未达瓶颈时分布式徒增复杂性
253+ 2 . ** 强一致性事务频繁** — 分布式事务的代价极高,频繁跨服务强一致性场景下分布式是反模式
254+ 3 . ** 团队能力或基础设施不足** — 分布式需要配套的 CI/CD、监控、服务治理能力;能力不足时分布式反而降低可靠性
255+ 4 . ** 业务边界模糊** — 服务拆分依赖清晰的领域边界;边界模糊时的分布式拆分只会制造"分布式单体"
256+
222257## 反模式与误区
223258
224259### 核心认知:不确定性不可消除
You can’t perform that action at this time.
0 commit comments