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

Reply via email to