IT用語集 › プログラミング › Reactive Streams

Reactive Streams

プログラミング Svenska → 更新: 2026-10-22

ノンブロッキングなバックプレッシャーを備えた非同期ストリームの仕様。2013〜2015年に Netflix、Lightbend、Pivotal の関係者が策定した。インターフェースは Publisher、Subscriber、Subscription、Processor の4つ。

要点は Subscription.request(n) にある。消費側が処理できる量を宣言し、生産側はそれを超えて送ってはならない。この仕組みがないと、速い生産側が遅い消費側のメモリを埋め尽くす。仕様は JDK 9 の java.util.concurrent.Flow に取り込まれた。インターフェースは同一で、パッケージ名だけが違う。実装には RxJava 2 以降、Project Reactor(Spring WebFlux)、Akka Streams、Vert.x、Mutiny がある。相互運用性こそが最大の売りで、Reactor のソースを Akka のシンクにつなぐこともできる。

← 用語集に戻る