title: Ð Ð°Ð·ÑÐ°Ð±Ð¾ÑÐºÐ° Ð¼ÐµÑÐ¾Ð´Ð¾Ð² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐ¼Ð¸ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸ÑÐ¼Ð¸ Ð² Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ½Ð¾Ð¹ Ð°ÑÑ Ð¸ÑÐµÐºÑÑÑÐµ Ð½Ð° Ð±Ð°Ð·Ðµ Java
title: Ð²ÑÐ¿ÑÑÐºÐ½Ð°Ñ ÐºÐ²Ð°Ð»Ð¸ÑÐ¸ÐºÐ°ÑÐ¸Ð¾Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¼Ð°Ð³Ð¸ÑÑÑÐ°
titleType: Subtitle
title: Development of methods for managing distributed transactions in a microservice architecture based on Java
Creators: name: Ð¢ÑÐ¿ÑÐµÐ², ÐÐ¼Ð¸ÑÑÐ¸Ð¹
Publisher: name: Ð¡Ð°Ð½ÐºÑ-ÐÐµÑÐµÑÐ±ÑÑÐ³ÑÐºÐ¸Ð¹ Ð¿Ð¾Ð»Ð¸ÑÐµÑÐ½Ð¸ÑÐµÑÐºÐ¸Ð¹ ÑÐ½Ð¸Ð²ÐµÑÑÐ¸ÑÐµÑ ÐÐµÑÑÐ° ÐÐµÐ»Ð¸ÐºÐ¾Ð³Ð¾
Year: 2024
Subjects: ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐµ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¸
Ð´Ð²ÑÑ ÑÐ°Ð·Ð½Ð°Ñ ÑÐ¸ÐºÑÐ°ÑÐ¸Ñ
ÐºÐ¾Ð¼Ð¿ÐµÐ½ÑÐ¸ÑÑÑÑÐ¸Ðµ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¸
Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÑ
Ð½Ð°Ð³ÑÑÐ·Ð¾ÑÐ½Ð¾Ðµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ
distributed transactions
two-phase commit
compensating transactions
microservices
load testing

description: ÐÐ°Ð½Ð½Ð°Ñ ÑÐ°Ð±Ð¾ÑÐ° Ð¿Ð¾ÑÐ²ÑÑÐµÐ½Ð° ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² Ð´Ð²ÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð² ÑÐ¿ÑÐ°Ð²Ð»ÐµÐ½Ð¸Ñ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½ÑÐ¼Ð¸ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸ÑÐ¼Ð¸, ÑÐ°ÐºÐ¸Ñ ÐºÐ°Ðº Ð¼ÐµÑÐ¾Ð´ Ð´Ð²ÑÑÑÐ°Ð·Ð½Ð¾Ð¹ ÑÐ¸ÐºÑÐ°ÑÐ¸Ð¸ Ð¸ Ð¼ÐµÑÐ¾Ð´ Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ ÐºÐ¾Ð¼Ð¿ÐµÐ½ÑÐ°ÑÐ¸Ð¸ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¹. Ð ÑÐ°ÐºÐ¶Ðµ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐºÐµ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ñ, ÑÐ¾ÑÑÐ¾ÑÑÐµÐ¹ Ð¸Ð· ÑÑÐµÑ Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ¾Ð² Ð¸ ÑÐµÑÐ²Ð¸ÑÐ°-ÐºÐ¾Ð¾ÑÐ´Ð¸Ð½Ð°ÑÐ¾ÑÐ° ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¹ Ð¸ Ð²Ð½ÐµÐ´ÑÐµÐ½Ð¸Ñ Ð² Ð½ÐµÐµ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½ÑÑ Ð¼ÐµÑÐ¾Ð´Ð¾Ð². ÐÐ¸Ð·Ð½ÐµÑ-Ð»Ð¾Ð³Ð¸ÐºÐ° Ð¼Ð¸ÐºÑÐ¾ÑÐµÑÐ²Ð¸ÑÐ¾Ð² Ð¾ÑÐ½Ð¾Ð²Ð°Ð½Ð° Ð¿Ð¾ Ð¿ÑÐ¸Ð½ÑÐ¸Ð¿Ñ ÑÐ°Ð±Ð¾ÑÑ Ð¸Ð½ÑÐµÑÐ½ÐµÑ-Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ð°, Ð³Ð´Ðµ ÐµÑÑÑ ÑÐµÑÐ²Ð¸Ñ Ð·Ð°ÐºÐ°Ð·Ð¾Ð², Ð¸Ð½Ð²ÐµÐ½ÑÐ°ÑÑ Ð¸ Ð´Ð¾ÑÑÐ°Ð²ÐºÐ¸. ÐÑÐ¾Ð²ÐµÐ´ÐµÐ½Ñ Ð¸ÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ Ð²ÑÑÐ²Ð»ÐµÐ½Ð¸Ñ ÑÐ°Ð±Ð¾ÑÐ¾ÑÐ¿Ð¾ÑÐ¾Ð±Ð½Ð¾ÑÑÐ¸ ÑÐ°Ð·ÑÐ°Ð±Ð¾ÑÐ°Ð½Ð½Ð¾Ð¹ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð¾Ð¹ ÑÐ¸ÑÑÐµÐ¼Ñ Ð¸ ÑÑÐ°Ð²Ð½ÐµÐ½Ð¸Ñ Ð°Ð»Ð³Ð¾ÑÐ¸ÑÐ¼Ð¾Ð² Ð² Ð¾Ð´Ð¸Ð½Ð°ÐºÐ¾Ð²ÑÑ ÑÑÐ»Ð¾Ð²Ð¸ÑÑ ÑÐ°ÐºÐ¸Ðµ ÐºÐ°Ðº Ð½Ð°Ð³ÑÑÐ·Ð¾ÑÐ½Ð¾Ðµ ÑÐµÑÑÐ¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ Ð¸ Ð¿ÑÐ¾ÑÐ¸Ð»Ð¸ÑÐ¾Ð²Ð°Ð½Ð¸Ðµ. ÐÑÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ÐºÐ°Ð·Ð°Ð»Ð¸, ÑÑÐ¾ Ð¼ÐµÑÐ¾Ð´ Ð½Ð° Ð¾ÑÐ½Ð¾Ð²Ðµ ÐºÐ¾Ð¼Ð¿ÐµÐ½ÑÐ°ÑÐ¸Ð¸ ÑÑÐ°Ð½Ð·Ð°ÐºÑÐ¸Ð¹ Ð¿ÑÐ¸Ð¼ÐµÑÐ½Ð¾ Ð² 3 ÑÐ°Ð·Ð° Ð±ÑÑÑÑÐµÐµ Ð¼ÐµÑÐ¾Ð´Ð° Ð´Ð²ÑÑÑÐ°Ð·Ð½Ð¾Ð¹ ÑÐ¸ÐºÑÐ°ÑÐ¸Ð¸, Ð¿ÑÐ¸ ÑÑÐ¾Ð¼ Ð²ÑÑ ÑÐ°ÑÐ¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð½Ð°Ñ ÑÐ¸ÑÑÐµÐ¼Ð° ÑÐ°ÐºÐ¶Ðµ Ð¼Ð¾Ð¶ÐµÑ Ð²ÑÐ´ÐµÑÐ¶Ð°ÑÑ Ð² 3 ÑÐ°Ð·Ð° Ð±Ð¾Ð»ÑÑÐµ Ð·Ð°Ð¿ÑÐ¾ÑÐ¾Ð² Ð² ÑÐµÐºÑÐ½Ð´Ñ, ÐºÐ¾Ð³Ð´Ð° Ð¸ÑÐ¿Ð¾Ð»ÑÐ·ÑÐµÑÑÑ Ð¿ÐµÑÐ²ÑÐ¹ Ð¼ÐµÑÐ¾Ð´.
description: This work is devoted to the development of methods for two distributed transaction management methods, such as the two-phase commit method and the transaction compensation-based method. And also, the development of a distributed system consisting of three microservices and a transaction coordinator service and the implementation of the developed methods into it. The business logic of microservices is based on the operating principle of an online store, where there is an ordering, inventory and delivery service. Research has been carried out to identify the performance of the developed distributed system and compare algorithms under the same conditions, such as load testing and profiling. Research has shown that the transaction compensation-based method is approximately 3 times faster than the two-phase commit method, while the entire distributed system can also handle 3 times more requests per second when the first method is used.