A study on load balancing within microservices architecture

University essay from Högskolan i Halmstad/Akademin för informationsteknologi

Author: Alexander Sundberg; [2019]

Keywords: ;

Abstract: This study addresses load balancing algorithms for networked systems with microservices architecture. In microservices applications, functionality and logic have been split into small pieces referred to as services. Such divisions allow for higher levels of scalability and distributivity than obtainable for more classical architectures where functionality and logic is packaged into large non-separable applications. As a first step, we investigate existing load balancing algorithms in the literature. A conclusion reached from this literature survey is that there is a lack of proposed load balancing algorithms for microservices, and it is not obvious how to adapt such algorithms to the architecture under consideration. In particular, many existing algorithms incorporate queues, which should be avoided for microservices, where the small services should be provided in fast manner. Hence, we provide modified and new candidates for load balancing, where one such is a probabilistic approach including a distribution that is a function of service providers' load. The algorithms are implemented in microservices simulation environment developed in Erlang by Ericsson AB. We consider a range of scenarios for evaluation, where amongst other things, we vary the number of service consumers and providers. To evaluate the load balancing algorithms, we perform statistical analysis, where first and second order moments are computed for relevant metrics under the different scenarios considered. A conclusion drawn from the results is that the algorithm referred to as "Round Robin" performed best according to the results from various simulation scenarios. This study serves as a stepping stone for further investigations. We outline several possible extensions such as more in-depth statistical analysis accounting for the time-varying aspects of the systems (currently omitted), as well other classes of algorithms.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)