在Hystrix中使用线程池有什么好处? 假设我们正在调用第三方服务,当我们调用服务或数据库时,线程进入等待状态,那么为每个调用不断创建线程有什么用?
那么,我的意思是短路(线程池)方法比普通(非短路)方法更好?
最佳答案
假设远程服务(任何服务)启动时响应缓慢,但典型的应用程序(调用远程服务的服务)仍将继续调用该远程服务。因此,短路(线程池)方法可以帮助您在这种特殊情况下构建防御系统。
由于调用服务不知道远程服务是否正常,因此每次收到请求时都会生成新线程。这将导致使用已经陷入困境的服务器上的线程。
我们不希望这种情况发生,因为我们需要这些线程用于其他远程调用或在我们的服务器上运行的进程,并且我们还希望避免 CPU 利用率飙升。因此,如果出现延迟,这可以防止资源被阻塞。另外,有界线程池也为下游服务的恢复提供了一些喘息空间。
关于spring - Hystrix中使用ThreadPool的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51422290/