Microservice architecture is a widely used architectural style which allows you to design your application using a set of loosely coupled services which can be developed, deployed, and scaled independently. The service decomposition is the act of decomposing (breaking) a coarse-grained service into a set of fine-grained services that collectively perform the functionality of the original service. The service decomposition introduces additional overhead due to inter-service communication of services which impacts the performance. In this paper, we study the effect of service decomposition on the throughput and average latency. We perform an extensive performance analysis using a set of standard microservice benchmarks with different workload characteristics. Our results indicate that when we decompose a service into a set of micro-services the performance of the new application can improve or degrade. The factors which impact the performance behaviours are the number of service calls, the service demand, concurrency (i.e. number of concurrent users) and the decomposition strategy. In addition to the experimental performance evaluation, we analyze the performance impact of service decomposition using queueing theoretic models. We compare the analytical results with experimental results and notice that analytical results match well with the experimental results.
CITATION STYLE
Jayasinghe, M., Chathurangani, J., Kuruppu, G., Tennage, P., & Perera, S. (2020). An analysis of throughput and latency behaviours under microservice decomposition. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 12128 LNCS, pp. 53–69). Springer. https://doi.org/10.1007/978-3-030-50578-3_5
Mendeley helps you to discover research relevant for your work.