Summary

In this chapter, we went on a journey of evolving a monolith application into a reactive system. Here, we understood the pros and cons of using plain server-side load-balancing techniques for achieving a scalable system. However, these techniques cannot provide elasticity, since the load balancer might become a bottleneck in this case. In turn, this technique may add additional costs to operations as well as a powerful infrastructure for load balancers.

Furthermore, in this chapter, we explored the technique of client-side load balancing. However, this technique has its limitations and does not provide balancing coordination with the client-side load balancers installed on all services in the system.

Finally, we looked at how the reactive manifesto advises us to use a message queue for robust, asynchronous message passing. As a result, we have learned that employing a message broker as a separate reactive system for asynchronous communication allows us to achieve elasticity, making this an entirely reactive system.

Moreover, we covered how the Spring ecosystem helps us to build reactive systems with the support of the Reactor and Spring Cloud Stream project. We also learned new programming paradigms for backpressure supported communication with message brokers such as Apache Kafka or RabbitMQ using Reactor 3. In turn, we saw a few examples of applying that technique to a real project.

Following this, we saw how Spring Cloud Data Flow helps us to separate particular business logic from actual, specific configurations related to communication with a message broker or integration with a particular cloud platform.

Finally, we learned about an additional library for achieving low-latency, high-throughput communication with RSocket. Consequently, we saw an experimental project that might easily integrate RSocket into the Spring ecosystem.

To complete our knowledge of reactivity, Chapter 9, Testing the Reactive Application, explores the essential techniques of testing reactive systems built using Spring 5. To finalize our knowledge, we are going to look at how to release, support, and monitor a reactive system.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.15.206.25