浅谈Hystrix扩展-RxJava

RxJava

官网

什么是RxJava?

官网解释:RxJava 是 Reactive Extensions 的 Java VM 实现:一个使用”可观察序列“实现组合异步和基于事件的类库。它扩展了观察者模式以支持数据/事件序列,并添加了运算符,允许您以声明方式将序列组合在一起,同时抽象出对低级线程、同步、线程安全和并发数据结构等事物的关注。
个人理解:
RxJava是一个基于观察者模式扩展的事件驱动的JavaAPI类库,开发者可以在RxJava中灵活的搭配事件驱动的组合顺序,不必关心繁琐的调用链实现。

角色概念

Observable

被观察者。RxJava的核心类,该框架的使用入口,定义了响应驱动的基本逻辑。从名字就可以看出来他在观察者模式中的角色-被观察者。但是与传统的观察者模式对比,更像是一个发布者。

在这里插入图片描述

Subscriber

在这里插入图片描述

订阅者/观察者。通过继承Observer(监听动作)和Subscription(订阅动作)提供一种从 Observable 接收推送通知的机制,并允许手动取消订阅这些 Observable。开发者可以重写一些方法来实现自己想要的效果,可重写的方法有:

  • onNext(String s)

    监听下一个 item 。Observer监听Observable上发出的每一个 item ,只有当onCompleted()或者onError(Throwable e)被调用时,这个方法才会停止调用。
    
  • onCompleted()

    通知Observer,Observable已完成发送基于推送的通知。
    
  • onError(Throwable e)

    通知Observer,Observable遇到错误情况
    
  • onStart()

    当 Subscriber 和 Observable 已连接但 Observable 尚未开始发出 items 或向 Subscriber 发送通知时,将调用此方法。覆盖此方法以向您的订阅添加任何有用的初始化,例如启动背压。
    
  • unsubscribe()

    取消订阅/取消观察。
    

原理

Observable与Subscriber是开发者最常用的的两个类,当我们在使用RxJava时,最常见的形式是自定义观察者Subscriber和被观察者Observable,然后通过调用

Observable.subscribe(Subscriber<? super T> subscriber)来启动RxJava。下面是单个观察者的操作调用流程:

在这里插入图片描述

使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值