在Hystrix中使用ThreadPool的优势

时间:2018-07-19 12:06:33

标签: spring architecture microservices hystrix

在Hystrix中使用线程池有什么优势? 假设我们正在调用第三方服务,那么当我们调用服务或数据库时,线程进入等待状态,那么每次调用保持创建线程的用途是什么?

那么,我的意思是说,与普通(非短路)方法相比,短路(Threadpooled)方法的打击效果如何?

1 个答案:

答案 0 :(得分:2)

可以说当远程服务(任何服务)开始缓慢响应时,但是典型的应用程序(正在调用远程服务的服务)仍将继续调用该远程服务。因此,在这种特殊情况下,短路(Threadpooled)方法可以帮助您构建防御系统。

由于呼叫服务不知道远程服务是否正常,因此每次请求进入时都会产生新线程。这将导致使用本已处于困境的服务器上的线程。

我们不希望发生这种情况,因为我们需要这些线程来在服务器上运行其他远程调用或进程,并且我们还希望避免CPU使用率激增。因此,这可以防止发生延迟时资源被阻塞。此外,绑定线程池还为下游服务恢复提供了喘息的空间。

有关详细信息:ThreadPool in Hystrix