Why reactive programming in Spring? In Spring 5.0, spring added another parallel web-stack to the existing servlet based MVC web-stack. This new stack is fully reactive, non-blocking, and based on the project reactor library . Now the question is why a new stack? Non-blocking code doesn't block any threads and hence it can scale with very few threads . This lets developers take advantage of multi-core, modern processors—handling huge numbers of concurrent requests. With this, you can satisfy more concurrent users with fewer microservice instances. All the way reactive: When we build reactive we need to make sure that we use all the libraries in the stack which are non-blocking. If code is doing any blocking operation anywhere in sequence then we will lose the advantage of using reactive stack. Sping has added various libraries to support this complete stack. We are going to use Spring Webflux and R2DBC here. Building a Rest API using spring boot and PostgreSQL: here, we are...