美文网首页
SpringCloud生态

SpringCloud生态

作者: 技术灭霸 | 来源:发表于2020-05-02 20:22 被阅读0次

    1、hystrix简述

    使用Hystrix实现隔离分布式服务故障。提供线程和信号量隔离,以减少不同服务之间资源竞争带来的相互影响;提供优雅降级机制;提供熔断机制使得服务可以快速失败,而不是一直阻塞等待服务响应,并能从中快速恢复。Hystrix通过这些机制来阻止级联失败并保证系统弹性、可用。

    (1)信号量隔离

    信号量模式从始至终都只有请求线程自身,是同步调用模式,不支持超时调用,不支持直接熔断,由于没有线程的切换,开销非常小。


    image.png

    (2)线程隔离

    线程池模式可以支持异步调用,支持超时调用,支持直接熔断,存在线程切换,开销大。


    image.png

    隔离方式选择

    image.png

    当请求的服务网络开销比较大的时候,或者是请求比较耗时的时候,我们最好是使用线程隔离策略,这样的话,可以保证大量的tomcat线程可用,不会由于服务原因,一直处于阻塞或等待状态,快速失败返回。而当我们请求缓存这些服务的时候,我们可以使用信号量隔离策略,因为这类服务的返回通常会非常的快,不会占用容器线程太长时间,而且也减少了线程切换的一些开销,提高了缓存服务的效率。

    相关文章

      网友评论

          本文标题:SpringCloud生态

          本文链接:https://www.haomeiwen.com/subject/nvrawhtx.html