rxjava 個人理解

服務端:

reactor 模型異步-> 回調地獄

rxjava 觀察者模式 -> 基於事件 -> 解救回調地獄

rxjava 有利於解決 異步開發中的回調問題

操作符:

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

線程調度:

可以指定是 io 還是 計算密集。猜測是利用線程池參數控制。

應用:

斷路器中 HystrixCircuitBreaker

中使用了 rxjava 的觀察者模式,實現了滑動窗口的統計 ,使用rxJava 中的 window 操作符來將單位窗口時間內的事件。(複雜,多個操作,計算健康值,短路等)

對比:

guava 中的限流器,對於滑動窗口的實現,是在主線程中,計算時間差值, 差值 * 頻率 cas 加入令牌桶。(簡單,只添加令牌)

感覺:

1. 處理大量異步回調,少量異步使用 callback 或者 future。

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

3. 事件驅動,可以做一些事件驅動的應用。比如數據變化以後的更新緩存。


分享到:


相關文章: