服務端:
reactor 模型異步-> 回調地獄
rxjava 觀察者模式 -> 基於事件 -> 解救回調地獄
rxjava 有利於解決 異步開發中的回調問題
操作符:
rxjava 中的操作符,類似 java 8 中的 lamdba 的流操作。
線程調度:
可以指定是 io 還是 計算密集。猜測是利用線程池參數控制。
應用:
斷路器中 HystrixCircuitBreaker
中使用了 rxjava 的觀察者模式,實現了滑動窗口的統計 ,使用rxJava 中的 window 操作符來將單位窗口時間內的事件。(複雜,多個操作,計算健康值,短路等)
對比:
guava 中的限流器,對於滑動窗口的實現,是在主線程中,計算時間差值, 差值 * 頻率 cas 加入令牌桶。(簡單,只添加令牌)
感覺:
1. 處理大量異步回調,少量異步使用 callback 或者 future。
2. 可以考慮替代部分 aop 切面。
3. 事件驅動,可以做一些事件驅動的應用。比如數據變化以後的更新緩存。
閱讀更多 犀利豆的技術空間 的文章