hystrix 使用

Posted zhangwanhua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hystrix 使用相关的知识,希望对你有一定的参考价值。

  这一节我们开始了解hystrix执行的主流程,在讲解主流程之前,我们先来看一下怎么使用hystrix。

引入jar

<dependency>
   <groupId>com.netflix.hystrix</groupId>
   <artifactId>hystrix-core</artifactId>
   <version>1.5.10</version>
</dependency>

继承HystrixCommand

  public HelloWorldHystrixCommand() {
  super(HystrixCommandGroupKey.Factory.asKey("ExampleGroup"));
  }
  @Override
  protected String run() {
    return "Hello ";
  }
  @Override     
  protected String getFallback() {
         return "Hello Fallback";     
  }
}

  run为需要执行的命令,在执行过程中的发送异常,则会触发getFallback来达到优雅降级的目的。 出于对报告和提醒的目的,group这个键用于对命令进行分组。

调用Hystrix命令
  有四种方法执行命令:
String s = new CommandHelloWorld("Bob").execute();
Future<String> s = new CommandHelloWorld("Bob").queue();
Observable<String> s = new CommandHelloWorld("Bob").observe();
Observable<String> s = new CommandHelloWorld("Bob").toObserve();
  • execute-同步执行,等待返回结果
  • queue-异步执行,获得一个Future,通过Future获取结果.
  • observe-异步执行,获得一个Observable,通过Observable获取结果。
  • toObservable-异步执行,获得一个Observable,通过Observable获取结果,与observe不同的时,该Observable在第一次监听执行,后面的监听者将接收不到之前发生的消息,而observe方法获取的Observable,在方法调用时执行,后面的监听者可以接收到之前发生的消息。

   当调用这四个方法时,最终会执行run方法,并返回执行的结果,如果在执行过程中发生异常就会调用fallback方法,返回结果。


以上是关于hystrix 使用的主要内容,如果未能解决你的问题,请参考以下文章

Hystrix的使用

Hystrix的使用

无法在 Hystrix 仪表板上查看 Hystrix 报告

对SpringCloud Hystrix服务降级的浅显理解

SpringCloud学习--- Hystrix详解(附代码包)

SpringCloud学习--- Hystrix详解(附代码包)