Book description
Explore the reactive system and create efficient microservices with Spring Boot 2.1 and Spring Cloud
Key Features
- Understand the kind of system modern businesses require with Spring
- Gain deeper insights into reactive programming with Reactor and Spring Cloud
- Get in-depth knowledge on asynchronous and nonblocking communication with Spring 5 WebFlux
Book Description
These days, businesses need a new type of system that can remain responsive at all times. This is achievable with reactive programming; however, the development of these kinds of systems is a complex task, requiring a deep understanding of the domain. In order to develop highly responsive systems, the developers of the Spring Framework came up with Project Reactor.
Hands-On Reactive Programming in Spring 5 begins with the fundamentals of Spring Reactive programming. You'll explore the endless possibilities of building efficient reactive systems with the Spring 5 Framework along with other tools such as WebFlux and Spring Boot. Further on, you'll study reactive programming techniques and apply them to databases and cross-server communication. You will advance your skills in scaling up Spring Cloud Streams and run independent, high-performant reactive microservices.
By the end of the book, you will be able to put your skills to use and get on board with the reactive revolution in Spring 5.1!
What you will learn
- Discover the difference between a reactive system and reactive programming
- Explore the benefits of a reactive system and understand its applications
- Get to grips with using reactive programming in Spring 5
- Gain an understanding of Project Reactor
- Build a reactive system using Spring 5 and Project Reactor
- Create a highly efficient reactive microservice with Spring Cloud
- Test, monitor, and release reactive applications
Who this book is for
This book is for Java developers who use Spring to develop their applications and want to build robust and reactive applications that can scale in the cloud. Basic knowledge of distributed systems and asynchronous programming will help you understand the concepts covered in this book.
Table of contents
- Title Page
- Copyright and Credits
- Dedication
- Packt Upsell
- Foreword
- Contributors
- Preface
- Why Reactive Spring?
-
Reactive Programming in Spring - Basic Concepts
- Early reactive solutions in Spring
- RxJava as a reactive framework
- Brief history of reactive libraries
- Reactive landscape
- Summary
- Reactive Streams - the New Streams' Standard
-
Project Reactor - the Foundation for Reactive Apps
- A brief history of Project Reactor
-
Project Reactor essentials
- Adding Reactor to the project
- Reactive types – Flux and Mono
- Creating Flux and Mono sequences
- Subscribing to Reactive Streams
-
Transforming reactive sequences with operators
- Mapping elements of reactive sequences 
- Filtering reactive sequences
- Collecting reactive sequences
- Reducing stream elements
- Combining Reactive Streams
- Batching stream elements
- The flatMap, concatMap, and flatMapSequential operators
- Sampling elements 
- Transforming reactive sequences into blocking structures
- Peeking elements while sequence processing
- Materializing and dematerializing signals
- Finding an appropriate operator
- Creating streams programmatically
- Handling errors
- Backpressure handling
- Hot and cold streams
- Dealing with time
- Composing and transforming Reactive Streams
- Processors
- Testing and debugging Project Reactor
- Reactor Addons
- Advanced Project Reactor 
- Summary
- Going Reactive with Spring Boot 2
-
WebFlux Async Non-Blocking Communication
-
WebFlux as a central reactive server foundation
- The reactive web core
- The reactive web and MVC frameworks
- Purely functional web with WebFlux
- Non-blocking cross-service communication with WebClient
- Reactive WebSocket API
- Reactive SSE as a lightweight replacement for WebSockets
- Reactive template engines
- Reactive web security
- Interaction with other reactive libraries
- WebFlux versus Web MVC
- Application of WebFlux
- Summary
-
WebFlux as a central reactive server foundation
-
Reactive Database Access
- Data handling patterns in the modern world
- Synchronous model for data retrieval
- Reactive data access with Spring Data
- Transforming a synchronous repository into reactive
- Reactive Spring Data in action
- Summary
- Scaling Up with Cloud Streams
- Testing the Reactive Application
-
And, Finally, Release It!
- The importance of DevOps-friendly apps
- Monitoring the Reactive Spring application
- Deploying to the cloud
- Summary
- Other Books You May Enjoy
Product information
- Title: Hands-On Reactive Programming in Spring 5
- Author(s):
- Release date: October 2018
- Publisher(s): Packt Publishing
- ISBN: 9781787284951
You might also like
book
Java 8 in Action
Java 8 in Action is a clearly written guide to the new features of Java 8. …
book
Full Stack Development with Spring Boot and React - Third Edition
PUBLISHER'S NOTE: A new edition of this book is now available, revised and updated for Spring …
book
Spring in Action, Sixth Edition
If you need to learn Spring, look no further than this widely beloved and comprehensive guide! …
book
Software Architecture with Spring 5.0
Discover how different software architectural models can help you solve problems, and learn best practices for …