rxjava 个人理解

服务端:

reactor 模型异步-> 回调地狱

rxjava 观察者模式 -> 基于事件 -> 解救回调地狱

rxjava 有利于解决 异步开发中的回调问题

操作符:

rxjava 中的操作符,类似 java 8 中的 lamdba 的流操作。

线程调度:

可以指定是 io 还是 计算密集。猜测是利用线程池参数控制。

应用:

断路器中 HystrixCircuitBreaker

中使用了 rxjava 的观察者模式,实现了滑动窗口的统计 ,使用rxJava 中的 window 操作符来将单位窗口时间内的事件。(复杂,多个操作,计算健康值,短路等)

对比:

guava 中的限流器,对于滑动窗口的实现,是在主线程中,计算时间差值, 差值 * 频率 cas 加入令牌桶。(简单,只添加令牌)

感觉:

1. 处理大量异步回调,少量异步使用 callback 或者 future。

2. 可以考虑替代部分 aop 切面。

3. 事件驱动,可以做一些事件驱动的应用。比如数据变化以后的更新缓存。


分享到:


相關文章: