Going Reactive at Picnic
At Picnic, we're constantly searching for ways to improve user experience, and in the backend this means making efficient, reliable and fault tolerant systems. Up to this point, concurrency in Java has been less than pretty, and often mitigated in web services due to its inherent complexity. With technologies like RxJava, Akka and Spring Reactor we are no longer plagued with these same problems.
But in a blocking world, which fruit hang the lowest? The most logical answer for us originates at the data sources themselves. This means leveraging RxJava by introducing observable database drivers and observable asynchronous http clients for inter service communication. Doing this has opened up the reactive world to our platform, where we can begin to react to non-blocking streams of data as opposed to pulling from traditional blocking sources. We have already begun slashing response times of certain service calls and continue to strive for an even better experience for our customers, and eagerly await the release of the reactive focused Spring 5.0.
- Philip Leonard, Software Engineer