Дослідження транзакційності в розподілених системах

dc.contributor.advisorПисьменний, Ігор Олександрович
dc.contributor.authorМакрушин, Андрій Миколайович
dc.date.accessioned2023-10-24T09:34:33Z
dc.date.available2023-10-24T09:34:33Z
dc.date.issued2023
dc.description.abstractДана робота присвячена дослідженню проблеми підтримки в розподілених системах властивості транзакційності, та способів її забезпечення за допомогою існуючих методів, алгоритмів та шаблонів проектування. В ході роботи було наведено причини виникнення та популярності мікросервісної архітектури інформаційних систем, як виду розподілених систем. Окрім цього було визначено основні властивості транзакцій, а також які є проблеми в тому, аби досягти властивості транзакційності в розроблених з використанням мікросервісної архітектури системах. Робота присвячена вирішенню наведених вище проблем з допомогою алгоритму двофазної транзакції, а також шаблону (патерну) проектування SAGA та Transactional Outbox & Transactional Inbox. Для кожного із них наведено перелік основних переваг та недоліків їх використання в розподілених системах. Для перевірки роботи SAGA та Transactional Outbox & Inbox, та їх бенчмаркінгу та порівняння було реалізовано два тестових стенди у вигляді систем з однаковими функціями, а саме системи для подачі заявок на отримання відшкодування від пошкоджень нерухомості, внаслідок бойових дій. Ці тестові стенди було розгорнуто в хмарному середовищі, з використанням такого провайдера як Amazon Web Services. За допомогою цих тестових стендів було проведено детальний аналіз роботи реалізованих патернів. В ході аналізу було визначено ефективність вирішення проблем для забезпечення транзакційності в розподілених системах, складність їх реалізації та підтримки систем з використанням цих патернів, часу на обробку функцій системи та збільшенню використання апаратних ресурсів, що зумовлені роботою цих патернів. За результатами проведеного аналізу та порівняння було сформовано рекомендації до їх використання, залежно від сценаріїв застосування. Загальний обсяг роботи: 105 сторінок, 7 таблиць, 23 рисунки, 32 джерела, 4 додаткиuk
dc.description.abstractotherThis work is dedicated to the study of the problem of maintaining the property of transactionality in distributed systems, and ways to solve this problem using existing methods, algorithms, and design patterns. This work provides the reasons for the emergence and popularity of the microservice architecture of information systems as a type of distributed systems were given. In addition, the main properties of transactions were determined and what are the problems to achieve transactionality in systems, developed using microservice architecture. The work is dedicated to solving the above problems using the two-phase transaction algorithm, as well as the SAGA design pattern and Transactional Outbox & Transactional Inbox. For each of them, a list of the main advantages and disadvantages of their use in distributed systems is given. To check the operation of SAGA and Transactional Outbox & Inbox, and their benchmarking and comparison, two test benches were implemented in the form of systems with the same functions, namely systems for submitting applications for receiving compensation for property damage caused by hostilities. These test benches were deployed in a cloud environment, using such a provider as Amazon Web Services. With the help of these test benches, a detailed analysis of the work of the implemented patterns was prepared. In this analysi were determined the effectiveness of solving problems to ensure transactionality in distributed systems, the complexity of their implementation and support of systems using these patterns, the time for processing system functions and the increase in the use of hardware resources, caused by the work of these patterns. Based on the results of the analysis and comparison, recommendations for their use were formed, depending on the application scenarios. Total explanatory note: 105 pages, 7 tables, 23 pictures, 32 sources, 4 appendices.uk
dc.format.extent106 с.uk
dc.identifier.citationМакрушин, А. М. Дослідження транзакційності в розподілених системах : дипломний проект … бакалавра : 122 Комп'ютерні науки / Макрушин Андрій Миколайович. – Київ, 2023. – 106 с.uk
dc.identifier.urihttps://ela.kpi.ua/handle/123456789/61714
dc.language.isoukuk
dc.publisherКПІ ім. Ігоря Сікорськогоuk
dc.publisher.placeКиївuk
dc.subjectтранзакціяuk
dc.subjectрозподілені системиuk
dc.subjectмікросервісна архітектураuk
dc.subjectузгодженість данихuk
dc.subjectпатерни проектуванняuk
dc.subjecttransactionuk
dc.subjectdistributed systemsuk
dc.subjectmicroservice architectureuk
dc.subjectdata consistencyuk
dc.subjectdesign patternsuk
dc.titleДослідження транзакційності в розподілених системахuk
dc.title.alternativeResearch of transactionality in distributed systemsuk
dc.typeBachelor Thesisuk

Файли

Контейнер файлів
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
Makrushyn_bakalavr.docx
Розмір:
1.54 MB
Формат:
Microsoft Word XML
Опис:
Ліцензійна угода
Зараз показуємо 1 - 1 з 1
Ескіз недоступний
Назва:
license.txt
Розмір:
1.71 KB
Формат:
Item-specific license agreed upon to submission
Опис: