Дослідження транзакційності в розподілених системах
dc.contributor.advisor | Письменний, Ігор Олександрович | |
dc.contributor.author | Макрушин, Андрій Миколайович | |
dc.date.accessioned | 2023-10-24T09:34:33Z | |
dc.date.available | 2023-10-24T09:34:33Z | |
dc.date.issued | 2023 | |
dc.description.abstract | Дана робота присвячена дослідженню проблеми підтримки в розподілених системах властивості транзакційності, та способів її забезпечення за допомогою існуючих методів, алгоритмів та шаблонів проектування. В ході роботи було наведено причини виникнення та популярності мікросервісної архітектури інформаційних систем, як виду розподілених систем. Окрім цього було визначено основні властивості транзакцій, а також які є проблеми в тому, аби досягти властивості транзакційності в розроблених з використанням мікросервісної архітектури системах. Робота присвячена вирішенню наведених вище проблем з допомогою алгоритму двофазної транзакції, а також шаблону (патерну) проектування SAGA та Transactional Outbox & Transactional Inbox. Для кожного із них наведено перелік основних переваг та недоліків їх використання в розподілених системах. Для перевірки роботи SAGA та Transactional Outbox & Inbox, та їх бенчмаркінгу та порівняння було реалізовано два тестових стенди у вигляді систем з однаковими функціями, а саме системи для подачі заявок на отримання відшкодування від пошкоджень нерухомості, внаслідок бойових дій. Ці тестові стенди було розгорнуто в хмарному середовищі, з використанням такого провайдера як Amazon Web Services. За допомогою цих тестових стендів було проведено детальний аналіз роботи реалізованих патернів. В ході аналізу було визначено ефективність вирішення проблем для забезпечення транзакційності в розподілених системах, складність їх реалізації та підтримки систем з використанням цих патернів, часу на обробку функцій системи та збільшенню використання апаратних ресурсів, що зумовлені роботою цих патернів. За результатами проведеного аналізу та порівняння було сформовано рекомендації до їх використання, залежно від сценаріїв застосування. Загальний обсяг роботи: 105 сторінок, 7 таблиць, 23 рисунки, 32 джерела, 4 додатки | uk |
dc.description.abstractother | This 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.extent | 106 с. | uk |
dc.identifier.citation | Макрушин, А. М. Дослідження транзакційності в розподілених системах : дипломний проект … бакалавра : 122 Комп'ютерні науки / Макрушин Андрій Миколайович. – Київ, 2023. – 106 с. | uk |
dc.identifier.uri | https://ela.kpi.ua/handle/123456789/61714 | |
dc.language.iso | uk | uk |
dc.publisher | КПІ ім. Ігоря Сікорського | uk |
dc.publisher.place | Київ | uk |
dc.subject | транзакція | uk |
dc.subject | розподілені системи | uk |
dc.subject | мікросервісна архітектура | uk |
dc.subject | узгодженість даних | uk |
dc.subject | патерни проектування | uk |
dc.subject | transaction | uk |
dc.subject | distributed systems | uk |
dc.subject | microservice architecture | uk |
dc.subject | data consistency | uk |
dc.subject | design patterns | uk |
dc.title | Дослідження транзакційності в розподілених системах | uk |
dc.title.alternative | Research of transactionality in distributed systems | uk |
dc.type | Bachelor Thesis | uk |
Файли
Контейнер файлів
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
- Опис: