舱壁隔离

为不同调用或租户分配独立资源池(线程、连接、队列),一组流量出问题不拖垮其他部分;命名来自船体分舱,本质是限制故障的资源传导。

线程池隔离按下游划分线程池,单下游慢调用不占满全局线程
连接池隔离核心与旁路流量使用不同连接池
容量核算每池容量按峰值估算并预留缓冲

线程池隔离示例

线程池隔离示例
下单主链路池:core 20 / max 40 / queue 100
营销旁路池:  core 5  / max 10 / queue 20

规则:
- 按下游与业务等级划分资源池
- 池满立即失败或降级,不排队拖垮整体
隔离与利用率存在取舍:池越多越安全,但总体资源占用越高,按业务等级分级设置。

易错点

  • 所有调用共用线程池,一个慢依赖阻塞全部功能
  • 隔离池过多且未做容量核算,资源被闲置浪费

数据来源与参考

  • 《Release It!(第 2 版)》(Nygard)
  • Netflix Hystrix 文档:Isolation
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌