高并发系统设计-隔离
高并发系统设计-隔离 一、概述 1.1 什么是隔离 隔离(Bulkhead)源自船舶结构设计: 船体被分割成多个“水密舱”,即使某一舱进水,也不会导致整船沉没。 在分布式系统中对应为: 将不同业务流量或依赖资源隔离开,避免相互影响。 例如: 订单服务 支付服务 库存服务 推荐服务 如果没有隔离: 推荐服务慢查询 → 占满线程池 → 订单无法处理 → 系统崩溃 1.2 为什么需要隔离 在高并发系统中,最危险的不是“单点失败”,而是: 资源被某一个模块耗尽 典型问题: 1. 线程池被占满 慢接口占用所有 worker → 新请求无法处理 2. 连接池被耗尽 某服务频繁调用DB → 连接池100个全部占满 3.某服务拖垮整个系统 推荐服务异常 → 影响订单服务 → 影响支付服务 → 全系统不可用 1.3 隔离的核心目标 隔离的本质是: 限制资源共享范围,防止“一个坏点影响全局” 目标: 防止资源争抢 防止链式崩溃 提高系统稳定性 控制故障范围 1.4 典型场景 场景1:电商系统 订单 / 支付 / 推荐 / 搜索 要求: 推荐挂了不能影响下单 搜索挂了不能影响支付 场景2:微服务调用 Service A → B → C → D 如果 D 崩溃:...