【发布时间】:2018-12-27 13:41:27
【问题描述】:
在 Hystrix 中使用线程池有什么好处? 假设我们正在调用第三方服务,当我们调用服务或数据库时,该线程进入等待状态,而不是为每个调用不断创建线程有什么用?
那么,我的意思是,短路(线程池)方法比普通(非短路)方法如何?
【问题讨论】:
标签: spring architecture microservices hystrix
在 Hystrix 中使用线程池有什么好处? 假设我们正在调用第三方服务,当我们调用服务或数据库时,该线程进入等待状态,而不是为每个调用不断创建线程有什么用?
那么,我的意思是,短路(线程池)方法比普通(非短路)方法如何?
【问题讨论】:
标签: spring architecture microservices hystrix
假设远程服务(任何服务)启动时响应缓慢,但典型的应用程序(正在调用远程服务的服务)仍将继续调用该远程服务。因此,短路(线程池)方法可以帮助您在这种特殊情况下构建防御系统。
由于调用服务不知道远程服务是否健康,并且每次请求进入时都会产生新线程。这将导致使用已经陷入困境的服务器上的线程。
我们不希望这种情况发生,因为我们需要这些线程用于在我们的服务器上运行的其他远程调用或进程,并且我们还希望避免 CPU 使用率飙升。因此,如果发生延迟,这可以防止资源被阻塞。此外,限界线程池也为下游服务的恢复提供了一些喘息的空间。
【讨论】: