Hey Igniters, Lalit Kumar Jha expressed interest [1] in contributing to ticket IGNITE-815 [2] which aims to bring in Reactive Streams to Ignite.
I wanted to start a brainstorm about which functionalities we'd like to cover. Off the top of my head, I can think of merging, filtering, sorting, batching, grouping, etc. on Data Streams, Ignite Messages and Events. Also, integration with Continuous Queries would be useful. Furthermore, I wanted to ask the community if at this point we feel comfortable with Reactive Streams per-se or we prefer to go with RxJava for now. Reactive Streams is a proposed standard whose main Java implementation and is slowly gaining traction (e.g. vert.x [3] and MongoDB integrations [4]), whereas RxJava is an already mature and production-tested implementation of the initial ReactiveX design by Microsoft [5] with 7000+ stars on GitHub. RxJava is the foundation of Hystrix [6], a powerful library for latency and fault tolerance management. RxJava does not implement Reactive Streams as of 1.x (as they predated it), but they've vowed support for 2.x [7]. Moreover, there's already an adapter which passes the TCK [8]. My take is as follows. I'd like to follow the Reactive Streams standard, but I wouldn't like to lose support for Hystrix (hopefully it'll eventually be migrated to Reactive Streams too). So an option is to go with the RxJava + adapter design for now to get the best of both worlds. Once RxJava 2.0 is out, we can drop the adapter out of the picture. Thoughts? [1] http://apache-ignite-developers.2346864.n4.nabble.com/Hello-Apache-Ignite-Dev-tp3137p3315.html [2] https://issues.apache.org/jira/browse/IGNITE-815 [3] http://vertx.io/docs/vertx-reactive-streams/java/ [4] https://mongodb.github.io/mongo-java-driver-reactivestreams/ [5] https://msdn.microsoft.com/en-us/data/gg577609.aspx [6] https://github.com/Netflix/Hystrix [7] https://github.com/ReactiveX/RxJava/wiki/Reactive-Streams [8] https://github.com/ReactiveX/RxJavaReactiveStreams Regards, *Raúl Kripalani* Apache Camel PMC Member & Committer | Enterprise Architect, Open Source Integration specialist http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani http://blog.raulkr.net | twitter: @raulvk