云原声设计模式 船舱模式


原文:Bulkhead pattern

船舱模式是容错的一种设计思路,把风险分散开,出现问题时能够问题隔离在一个范围内,避免级联故障导致拉跨整个系统。

一个船舱漏水时,由于隔板的存在,不会导致整个船沉掉。

应用场景:

  1. 单个服务调用多个下游,通过各自分配线程池的方式隔离,避免一个下游故障影响到其他
  2. 单个服务,通过集群/机房等方式隔离,不同上游调用不同的集群,某个集群挂掉,只会影响对应的有限个上游

隔离的粒度,线程/进程/容器/虚拟机/集群/机房/租户等,取决于业务/技术需求。

工具集:

  • resilience4j