Based on asynchronous event processing, message-driven data streams, and non-blocking I/O reactive programming is a popular paradigm for developing web and cloud applications, particularly large-scale and distributed ones using a microservices architecture.
Some time ago, I published a tiny introductory post on reactive programming with Spring Boot and Spring WebFlux.
Reflectoring has this much more in-depth article on reactive architecture with Spring Boot, which covers everything from building a traditional synchronous-style application, converting such an application to a reactive architecture, and using and deploying a message-driven system.