ResearchBib Share Your Research, Maximize Your Social Impacts
Sign for Notice Everyday Sign up >> Login

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

Journal: Scientific and Technical Journal of Information Technologies, Mechanics and Optics (Vol.21, No. 4)

Publication Date:

Authors : ;

Page : 473-481

Keywords : microservices; Saga coordinator; orchestration; asynchronous programming; programme simulation; coroutines; thread pool;

Source : Downloadexternal Find it from : Google Scholarexternal

Abstract

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.

Last modified: 2021-08-24 16:43:00