Hystrix在工作中你至少需要知道的!--Ⅰ

Posted 仓十一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hystrix在工作中你至少需要知道的!--Ⅰ相关的知识,希望对你有一定的参考价值。

Hystrix,在辞典里面的意思是豪猪。我们知道豪猪浑身长满了刺,是对自己的保护。所以Hystrix也意味着一种保护机制。

Hystrix是spring cloud 微服务技术栈中的一个组件。是由Netflix公司研发的。

那既然是一种保护机制,那具体保护什么呢?

首先我想先提出一个生产上会出现的问题,雪崩问题。

我们知道在微服务架构中,各个微服务之间的调用关系是非常复杂的,一个请求,可能需要调用多个微服务接口才能实现,会形成非常复杂的调用链路。

如果某个微服务发生异常,请求被阻塞了,用户不会得到响应,则服务器的这个线程不会释放,于是越来越多的用户请求到来,越来越多的线程会阻塞。由于服务器支持的线程和并发数也是有限的,这样的话可能导致一个服务接着一个服务的崩掉,导致雪崩效应。

Hystrix解决雪崩问题有两个方法:

  • 线程隔离

  • 服务熔断

线程隔离:用户的请求不会直接到微服务,而是通过Hystrix为我们每个服务分配的一个小的线程池。如果有空闲的线程那么就可以访问服务,如果没有将会被立即拒绝。

服务降级:就是当用户的请求故障的时候,不会阻塞线程,一直等待,从而导致系统崩溃。至少有一个fallback方法,可以提示一个类似于“请求繁忙,请稍后再试”的友好提示消息。


我是仓十一,我们下期见!


以上是关于Hystrix在工作中你至少需要知道的!--Ⅰ的主要内容,如果未能解决你的问题,请参考以下文章

笔记:Spring Cloud Feign Hystrix 配置

Asp.Net Core 中间件应用实践中你不知道的那些事

hystrix如何集成在openfeign中使用

读《三体 Ⅰ》| 一个自我毁灭的物种

hystrix熔断机制修改配置

获得多个子线程的结果,面试和工作中你会遇到的多线程问题