I wanted to find a good answer for this, but couldn't really find one. Most comments and articles just cite the fact that your whole stack should be reactive to get the full benefits. But that kinda suggests to me that there are some benefits of using WebFlux even with a blocking data layer.
For example what if I have a micro service that makes calls not just to a relational database, but to other micro services as well, using WebFlux's WebClient
? In this case, is there any benefits? Also since it looks like eventually we are going to get a stable reactive JPA library, I assume switching the data layer to the reactive library would be fairly simple in the case of Spring (like changing the dependency and adding Reactive to the name of the extended repository).
So writing a reactive web layer with an upfront cost of getting used to it might worth it with some projects that use relational databases in my opinion, but I would like to hear others' opinion on it.