hystrix 如何创建他们的线程池
Posted
技术标签:
【中文标题】hystrix 如何创建他们的线程池【英文标题】:How hystrix creates their thread pool 【发布时间】:2016-10-11 00:15:21 【问题描述】:我的应用程序正在 Websphere 应用程序服务器中运行。我正在使用 Hystrix 进行一些外部服务调用。 WAS 服务器有一个线程池配置,比如最大线程池大小为 10,HystrixThreadPoolProperties maxCoreSize 设置为 5。
我想知道 hystrix 是如何管理线程的。 hystrix 是从 WAS 服务器线程池中消耗 5 个线程,还是会使用 5 个新线程创建自己的线程池,这将导致总共 15 个线程。
就我而言,我希望 hystrix 使用 WAS 线程池中的线程,而不是创建新线程。请指教。
提前致谢。
【问题讨论】:
【参考方案1】:Hystrix 作为所有通用库,它自己管理一个线程池,但提供了一种插入自定义线程池或执行器的方法。
为了将 Hystrix 与 WAS 之类的 JavaEE 服务器集成,您需要提供一个concurrency strategy,它使用托管执行器来提供线程。在大多数 JavaEE 服务器中(我很确定在 WAS 中也是如此),托管执行程序的线程池与 HTTP 线程默认使用的线程池不同 - 您仍然需要单独配置它们或同时指向两者以使用相同的线程池,如果服务器支持它。
【讨论】:
以上是关于hystrix 如何创建他们的线程池的主要内容,如果未能解决你的问题,请参考以下文章