با توجه به رشد سریع سیستم های نرم افزاری و افزایش شدید حجم اطلاعات و نیاز به سیستم های real time برای انجام پردازش های سنگین بر روی اطلاعات و جمع آوری اطلاعات مهم از آنها، نیاز به وجود استانداردی برای ارتباط سیستم ها بر پایه stream بسیار دیده می شود. امروزه ابزار ها و framework های فراوانی پردازش های برپایه Stream را از منابع داده ای مختلف برای ما انجام می دهند ابزار هایی مثل Spark، Kafka، Hadoop و... با استاندارد های خود به پایگاه داده های NoSQL و ... متصل می شوند و در بعضی موارد حتی لازم است این سیستم ها با یکدیگر ارتباط بر پایه Stream داشته باشند.
استاندارد Reactive Streams یک استاندارد مدرن برای متصل کردن سیستم ها و منابع اطلاعاتی برپایه Stream است. به نظر من اهمیت استاندارد Reactive Streams در حال حاضر مانند اهمیت استاندارد JDBC در زمان اوج RDBMS ها بود. در حال حاضر با اینکه Reactive Streams در ابتدای راه است ولی بسیاری از محصولات، ابزار ها و فریم ورک ها در حال تکمیل پشتیبانی خود از استاندارد Reactive Streams هستند و خود را برای آینده آماده می کنند.
در حال حاضر در بین سیستم های پایگاه داده، Mongodb و Kafka و Cassandra و ... در بین فریم ورک ها و ابزار های stream processing سیستم هایی مثل Spark ، کتابخانه ارتباط با دیتابیس Slick در اسکالا، فریم ورک Akka در قالب Akka Stream ، پشتیبانی از Reactive Streams در JDK 9 و بسیاری دیگر از سیستم هایی که نقش بزرگی در دنیای big data و stream processing در حال پشتیبانی از این استاندارد هستند.
نسخه ۱ استاندارد Reactive Streams تمرکز خود را بر روی back pressure، asynchronous و non-blocking بودن قرار داده ولی احتمالا در آینده مواردی مثل توزیع شدگی و چالش ها آن نیز به این استاندارد اضافه خواهد شد.
تصور یک سیستم large scale که stream processing را را بر مبنای درایور های بر پایه استاندارد Reactive Streams بصورت asynchronous و non-blocking و با کنترل back pressure بین کامپوننت هایی مثل MongoDB، Kafka و Spark انجام می دهد برای تمام کسانی که در این حوزه کار می کنند بسیار هیجان انگیز است.