NOTE

2.43 线程隔离

1. 为什么需要线程隔离 防止有问题的调用耗尽整个服务的线程资源A 2. 隔离模式 2.1. 普通模式 默认是10个线程池,如下图 2.2. 舱壁模式 3. 线程池VS信号量 - 线程池隔离 - 使用的是独立的线程池 - 支持排队和超时 - 支持异步调用 - 线程调用会产生额外的开销 - 适用于 -

Java创建于 更新于 historical

这是历史学习笔记,可能存在过时或不完整的理解。

1. 为什么需要线程隔离

防止有问题的调用耗尽整个服务的线程资源A

2. 隔离模式

2.1. 普通模式

默认是10个线程池,如下图

2.2. 舱壁模式

3. 线程池VS信号量

  • 线程池隔离
    • 使用的是独立的线程池
    • 支持排队和超时
    • 支持异步调用
    • 线程调用会产生额外的开销
    • 适用于
      • 受信客户
      • 高扇出(网关)
      • 高频高速调用(cache)
  • 信号量隔离
    • 使用调用方自己的线程
    • 轻量,无额外开销
    • 不支持任务排队和主动超时
    • 不支持异步调用
    • 适用于
      • 不受信客户
      • 有限扇出