Microservices and big-data increasingly confront us with the limitations of traditional input/output. In traditional IO, work that is IO-bound dominates threads. This wouldn't be such a big deal if we could add more threads cheaply, but threads are expensive on the JVM, and most other platforms. Even if threads were cheap and infinitely scalable, we'd still be confronted with the faulty nature of networks. Things break, and they often do so in subtle, but non-exceptional ways. Traditional approaches to integration bury the faulty nature of networks behind overly simplifying abstractions. We need something better. Join Spring Developer Advocate Josh Long for an introduction to reactive programming in the Spring ecosystem, leveraging the reactive streams specification, Reactor, Spring Boot, Spring Cloud and so much more. This book will cover important concepts in reactive programming including project Reactor and the reactive streams specification, data access, web programming, RPC with protocols like RSocket, testing, and integration and composition, and more.
Has some very good tips on how to use reactive Java well, particularly more advanced tips. Has helped me understand and identify problems with blocking code, and taught me new operators such as switchMap.
However it tends to resort to very long, hard to read code listings - it feels almost like live coding as a book. Some of the chapters (eg the databases chapter) are extremely dense and hard to get through.
This is a decent book but felt inadequate. It provides a lot of things to explore but none in detail. At the end of reading this book, I know what all to Google. It underestimates the difference between imperative and declarative style of coding and takes big leap while explaining concepts.
This book has given me all the info I need to get started with reactive Spring. Josh does a great job at explaining the core concepts and making the examples easy to follow and try out.
Touches variety of Spring modules that are Reactive but assumes knowledge of Spring config beans
Better read the book "Unraveling Project Reactor" by Esteban Herrera to focus on just learning reactive programming with Project Reactor before reading this book. This book spends just 2 chapters on Reactor concepts and then jumps to show the reactive support in Spring. The author introduces reactive configuration beans and libraries like Resilience4j as if the reader can make sense of them immediately without going into much detail. I found it difficult to follow such code examples without knowing what each line of code does.