Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment

The paper considers the problem of an effective microservices interaction and its organization to support data consistency in fault tolerant and high load systems. The “Saga” microservices orchestration template was used for microservices management. The authors assessed the expediency of asynchron...

وصف كامل

التفاصيل البيبلوغرافية
الحاوية / القاعدة:Научно-технический вестник информационных технологий, механики и оптики
المؤلفون الرئيسيون: Konstantin V. Malyuga, Ivan A. Perl, Aleksandr P. Slapoguzov
التنسيق: مقال
اللغة:الإنجليزية
منشور في: ITMO University 2021-08-01
الموضوعات:
الوصول للمادة أونلاين:https://ntv.ifmo.ru/file/article/20564.pdf
_version_ 1848651565026508800
author Konstantin V. Malyuga
Ivan A. Perl
Aleksandr P. Slapoguzov
author_facet Konstantin V. Malyuga
Ivan A. Perl
Aleksandr P. Slapoguzov
author_sort Konstantin V. Malyuga
collection DOAJ
container_title Научно-технический вестник информационных технологий, механики и оптики
description The paper considers the problem of an effective microservices interaction and its organization to support data consistency in fault tolerant and high load systems. The “Saga” microservices orchestration template was used for microservices management. The authors assessed the expediency of asynchronous programming principles usage for designing the Saga coordinator. The simulation of processes in the Saga coordinator was conducted; it considers different specifics of asynchronous and synchronous configurations of distributed transactions (Sagas) management. Synchronous configuration group includes a coordinator with a fixed pool of threads and a coordinator that generates a new thread for each new Saga. Asynchronous configuration group consists of a coroutines based coordinator and a coordinator that uses Linux core scheduler. The set of simulations with different numbers of Sagas and available coordinator processors was executed. It was shown that the use of asynchronous approaches significantly reduces the Saga’s execution duration up to 9.74 times and improves the processor time utilisation value up to 88 %. The obtained data proves the efficiency of asynchronous programming principles applied to the design of the Saga coordinator. The difference in efficiency between the asynchronous algorithms that were implemented in this paper was insignificant. Asynchronous programming principles used to build the Saga coordinator allow it to handle bigger load and to use processor resources in a more efficient way. The outcome of this research can be applied during the design of fault tolerant and high load systems. The paper might be interesting to IT-specialists and researchers focusing on distributed computing.
format Article
id doaj-e3e467cefc4b40d3af2bf5eeabf628c2
institution Directory of Open Access Journals
issn 2226-1494
2500-0373
language English
publishDate 2021-08-01
publisher ITMO University
record_format Article
spelling doaj-e3e467cefc4b40d3af2bf5eeabf628c22025-11-03T00:30:42ZengITMO UniversityНаучно-технический вестник информационных технологий, механики и оптики2226-14942500-03732021-08-0121447348110.17586/2226-1494-2021-21-4-473-481Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environmentKonstantin V. Malyuga0https://orcid.org/0000-0001-7381-2067Ivan A. Perl1https://orcid.org/0000-0002-8903-405XAleksandr P. Slapoguzov2https://orcid.org/0000-0003-0699-5478Postgraduate, ITMO University, Saint Petersburg, 197101, Russian FederationPhD, Associate Professor, ITMO University, Saint Petersburg, 197101, Russian FederationPostgraduate, ITMO University, Saint Petersburg, 197101, Russian FederationThe paper considers the problem of an effective microservices interaction and its organization to support data consistency in fault tolerant and high load systems. The “Saga” microservices orchestration template was used for microservices management. The authors assessed the expediency of asynchronous programming principles usage for designing the Saga coordinator. The simulation of processes in the Saga coordinator was conducted; it considers different specifics of asynchronous and synchronous configurations of distributed transactions (Sagas) management. Synchronous configuration group includes a coordinator with a fixed pool of threads and a coordinator that generates a new thread for each new Saga. Asynchronous configuration group consists of a coroutines based coordinator and a coordinator that uses Linux core scheduler. The set of simulations with different numbers of Sagas and available coordinator processors was executed. It was shown that the use of asynchronous approaches significantly reduces the Saga’s execution duration up to 9.74 times and improves the processor time utilisation value up to 88 %. The obtained data proves the efficiency of asynchronous programming principles applied to the design of the Saga coordinator. The difference in efficiency between the asynchronous algorithms that were implemented in this paper was insignificant. Asynchronous programming principles used to build the Saga coordinator allow it to handle bigger load and to use processor resources in a more efficient way. The outcome of this research can be applied during the design of fault tolerant and high load systems. The paper might be interesting to IT-specialists and researchers focusing on distributed computing.https://ntv.ifmo.ru/file/article/20564.pdfmicroservicessaga coordinatororchestrationasynchronous programmingprogramme simulationcoroutinesthread pool
spellingShingle Konstantin V. Malyuga
Ivan A. Perl
Aleksandr P. Slapoguzov
Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment
microservices
saga coordinator
orchestration
asynchronous programming
programme simulation
coroutines
thread pool
title Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment
title_full Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment
title_fullStr Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment
title_full_unstemmed Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment
title_short Evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment
title_sort evaluation of the applicability of asynchronous programming methods to the data consistency problem in a microservices environment
topic microservices
saga coordinator
orchestration
asynchronous programming
programme simulation
coroutines
thread pool
url https://ntv.ifmo.ru/file/article/20564.pdf
work_keys_str_mv AT konstantinvmalyuga evaluationoftheapplicabilityofasynchronousprogrammingmethodstothedataconsistencyprobleminamicroservicesenvironment
AT ivanaperl evaluationoftheapplicabilityofasynchronousprogrammingmethodstothedataconsistencyprobleminamicroservicesenvironment
AT aleksandrpslapoguzov evaluationoftheapplicabilityofasynchronousprogrammingmethodstothedataconsistencyprobleminamicroservicesenvironment