大漠知秋的加油站

  • 首页
大漠知秋的加油站
你就当我的烂笔头吧
  1. 首页
  2. Spring Cloud Finchley.RELEASE
  3. 正文

Zuul 对 Hystrix 的线程隔离模式选择

2019年1月3日 1089点热度 0人点赞 0条评论

  Hystrix 的线程隔离模式包括 线程池隔离模式(THREAD)和信号量隔离模式(SEMAPHORE)。针对这两种模式的说明和特定场景下的选择如下:

| | 线程池模式(THREAD) | 信号量模式(SEMAPHORE) |
| --- | --- | --- |
| 官方推荐 | 是 | 否 |
| 线程 | 与请求线程分离 | 与请求线程共用 |
| 开销 | 上下文切换频繁,较大 | 较小 |
| 异步 | 支持 | 不支持 |
| 应对并发量 | 大 | 小 |
| 适用场景 | 外网交互 | 内网交互 |

  切换个隔离模式的配置:

hystrix.command.default.execution.isolation.strategy=THREAD | SEMAPHORE

  当应用需要与外网交互,由于网络开销比较大与请求比较耗时这时选用线程隔离策略,可以保证有剩余的容器(Tomcat | Undertow | Jetty)线程可用,而不会由于外部原因使得线程一直处于阻塞或等待状态可以快速失败返回。但当我们的应用只在内网交互,并且体量比较大,这时使用信号量隔离策略就比较好,因为这类应用的响应通常会非常快(由于在内网),不会占用容器线程太长时间,使用信号量线程上下文就会成为一个瓶颈,可以减少线程切换的开销,提高应用运转的效率,也可以起到对请求进行全局限流的作用。

标签: Hystrix Spring Cloud Zuul 线程隔离策略
最后更新:2019年1月3日

大漠知秋

唯黄昏而思烛明,唯覆雪始念日暖,唯放手方知情真,今困苦而怀峥嵘,今飘零而涌乡愁,今孑然而徒唏嘘,唏嘘成愁。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 大漠知秋的加油站. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备16029200号-2