• springcloud之Hystrix


    1、Hystrix出现的背景

    从上面看来,Hystrix避免了雪崩效益,对于失败的服务可以快速失败。

    2、为了解决雪崩效应的解决方案:

    (1)超时机制

    (2)断路器模式Hystrix

     

    3、Hystrix的demo

    根据之前的步骤:

    (1)添加依赖

    (2)添加注解,测试代码

    这里分两种情况:首先在restTemplat+ribbon中使用:

    这个可以在controller层添加@HystrixCommand注解,也可以在service中添加,但是前提是:

    所对应的方法与服务失败写的fallback的方法两者的参数跟返回值要一致。

    比如:

    服务提供者ProviderService工作的时候,返回的是正常的业务数据。当这个提供者出现问题时,返回下面的hiError方法中的内容。

    在利用Feign来调用服务的时候,我们如何使用断路器呢

    Feign是自带断路器的,在D版本的Spring Cloud中,它没有默认打开。需要在配置文件中配置打开它,在配置文件加以下代码:

    在写的服务调用接口中,添加fallback:

    编写fallback的类:

    4、知识点:

    断路器Hystrix什么时候出现:5秒钟失败20次就会打开。

    Hystrix默认的调用服务的超时时间是1秒,如果一秒服务没相应,则调用fallback方法。

    修改时间设置:

  • 相关阅读:
    原型和原型链
    面向对象
    git在idea中的使用,如何构远程git方仓库
    java maven 安装
    Kafka消费者APi
    Kafka生产者APi
    kafka基本概念
    redis常用命令
    redis.conf配置文件参数说明
    Redis.RedisNativeClient的方法get_Db 没有实现
  • 原文地址:https://www.cnblogs.com/fengli9998/p/8493642.html
Copyright © 2020-2023  润新知