It’s that Streaming-new-deal that has been taken over the web world, Reactive! You’ve heard about it, and maybe even tried to learn it a couple of times but find it confusing? Well, be confused no more since on this episode Bob and I explore the basic foundations of Reactive (and explain what is that makes is so confusing to begin with)

But that’s not all. We also dive on why is such a “hot” technology and why is the recommended approach on new microservices, even so, we also explore its drawbacks and why we shouldn’t rip everything apart to make “reactive” things.

Lastly we start exploring one of the “reactive” frameworks with Spring WebFlux, and explore how to “think” about Reactive (and came with the marble track analogy). In all, this episode will shed light on a topic that has been hard to understand, but on which, if done correctly can bring a very large performance gain!

FOLLOW US JavaPubHouse on twitter! Where we will be sharing new tech news, and tutorials!

We thank DataDogHQ for sponsoring this podcast episode

DataDog Logo
Don’t forget to SUBSCRIBE to our cool NewsCast! Java Off Heap

Do you like the episodes? Want more? Help us out! Buy us a beer!

And Follow us! @javapubhouse and @fguime and @bobpaulin

One comment on “Episode 87. Ok, it’s time to get Reactive!

  1. Nico says:

    Great episode.

    I would just like to point out a few things:
    This reactive-x pattern started from the .NET ecosystem and since then expanded out to other languages/ecosystems (the main reference site is
    ProjectReactor (from Pivotal) is the project that implements the ReactiveStreams APIs from the JDK and it the one that provides the Mono/Flux classes (and all the higher-order functions like map,flatMap, etc..) and it is the main library on top of which Spring Webflux is built on.
    There are other libraries/frameworks that do implement the ReactiveStreams API like RxJava (Single/Observable are the equivalent of Mono/Flux), Akka Streams, Vert.x and Ratpack to name a few.

Leave a Reply

Your email address will not be published. Required fields are marked *