Implementation and Performance Analysis of Load-balanced Replicated Services Pattern in Distributed Systems
Cao, Minh (2019)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201904094712
https://urn.fi/URN:NBN:fi:amk-201904094712
Tiivistelmä
Distributed systems of multiple machines have been on the way to become the defactor architecture in digital services that have a big number of user population because not a single machine could provide such scalability. However, it might be challenging to design a distributed system that could live up to its expectation. With the rise of virtualisation and containerisation technologies, tools and methods have been introduced to help ease the challenge. As a result, design patterns have been gaining attractions as standardised architectural solutions. The goal of this project is to demonstrate an implementation of the load-balanced replicated services pattern and analyse its performance under several scenarios.
The approach taken to carry on this project is to develop a simple web service in Scala and deploy it under a distributed system environment with the help of Kubernetes technology as the backbone of the design pattern. Detailed implementation is documented in chronological order of the project process.
Under different configurations and settings of the pattern, it may have different performance. Therefore, the research involves inspecting different components and tuning them for highest performance. As the testing is done in a experimental environment where the use case is fixed, the data is fake and the users are simulated, several practical factors in real-life scenarios that may impact the success of the pattern are also discussed.
The result of the project is theoretical evidence why load-balanced replicated services pattern is considered to be high-performant and reliable as well as analytical data to help with tuning different configurations to achieve the best outcome.
The approach taken to carry on this project is to develop a simple web service in Scala and deploy it under a distributed system environment with the help of Kubernetes technology as the backbone of the design pattern. Detailed implementation is documented in chronological order of the project process.
Under different configurations and settings of the pattern, it may have different performance. Therefore, the research involves inspecting different components and tuning them for highest performance. As the testing is done in a experimental environment where the use case is fixed, the data is fake and the users are simulated, several practical factors in real-life scenarios that may impact the success of the pattern are also discussed.
The result of the project is theoretical evidence why load-balanced replicated services pattern is considered to be high-performant and reliable as well as analytical data to help with tuning different configurations to achieve the best outcome.