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...