第一步,创建一个hystrixCommand命令或者一个hystrixObservableCommand命令,用来对依赖服务的操作请求,同时传递请求参数。
第二步,执行命令
执行命令分为四种方式
hystrixCommand命令有两种执行方式,即execute()和queue()。其中,execute()方式直接从依赖的服务返回一个单一对象。而queue()是直接返回一个future对象。
String result = myHystrixCommand.execute();
Future<String> queue = myHystrixCommand.queue();
hystrixObservableCommand命令也有两种执行方式,即observe()和toObservable(),他们都代表了操作返回的多个结果。
Observable<String> construct = myHystrixObservableCommand.observe();
Observable<String> construct = myHystrixObservableCommand.toObservable();
二者最主要的区别是,observe()方法返回的是一个HotObservable,而toObservable()方法返回的是一个coldObserable。HotObservable不管发布者是否有订阅者,都会在事件创建后进行发布。而coldObserable则是必须要有订阅者,他才会发布事件,如果没有订阅者,那么他将一直等待,直到有订阅者。