這一節咱們開始瞭解hystrix執行的主流程,在講解主流程以前,咱們先來看一下怎麼使用hystrix。異步
引入jaride
<dependency> <groupId>com.netflix.hystrix</groupId> <artifactId>hystrix-core</artifactId> <version>1.5.10</version> </dependency>
繼承HystrixCommandspa
public HelloWorldHystrixCommand() { super(HystrixCommandGroupKey.Factory.asKey("ExampleGroup")); } @Override protected String run() { return "Hello "; } @Override protected String getFallback() { return "Hello Fallback"; } }
run爲須要執行的命令,在執行過程當中的發送異常,則會觸發getFallback來達到優雅降級的目的。 出於對報告和提醒的目的,group這個鍵用於對命令進行分組。.net
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();
當調用這四個方法時,最終會執行run方法,並返回執行的結果,若是在執行過程當中發生異常就會調用fallback方法,返回結果。code