Письменний, Ігор ОлександровичМакрушин, Андрій Миколайович2023-10-242023-10-242023Макрушин, А. М. Дослідження транзакційності в розподілених системах : дипломний проект … бакалавра : 122 Комп'ютерні науки / Макрушин Андрій Миколайович. – Київ, 2023. – 106 с.https://ela.kpi.ua/handle/123456789/61714Дана робота присвячена дослідженню проблеми підтримки в розподілених системах властивості транзакційності, та способів її забезпечення за допомогою існуючих методів, алгоритмів та шаблонів проектування. В ході роботи було наведено причини виникнення та популярності мікросервісної архітектури інформаційних систем, як виду розподілених систем. Окрім цього було визначено основні властивості транзакцій, а також які є проблеми в тому, аби досягти властивості транзакційності в розроблених з використанням мікросервісної архітектури системах. Робота присвячена вирішенню наведених вище проблем з допомогою алгоритму двофазної транзакції, а також шаблону (патерну) проектування SAGA та Transactional Outbox & Transactional Inbox. Для кожного із них наведено перелік основних переваг та недоліків їх використання в розподілених системах. Для перевірки роботи SAGA та Transactional Outbox & Inbox, та їх бенчмаркінгу та порівняння було реалізовано два тестових стенди у вигляді систем з однаковими функціями, а саме системи для подачі заявок на отримання відшкодування від пошкоджень нерухомості, внаслідок бойових дій. Ці тестові стенди було розгорнуто в хмарному середовищі, з використанням такого провайдера як Amazon Web Services. За допомогою цих тестових стендів було проведено детальний аналіз роботи реалізованих патернів. В ході аналізу було визначено ефективність вирішення проблем для забезпечення транзакційності в розподілених системах, складність їх реалізації та підтримки систем з використанням цих патернів, часу на обробку функцій системи та збільшенню використання апаратних ресурсів, що зумовлені роботою цих патернів. За результатами проведеного аналізу та порівняння було сформовано рекомендації до їх використання, залежно від сценаріїв застосування. Загальний обсяг роботи: 105 сторінок, 7 таблиць, 23 рисунки, 32 джерела, 4 додатки106 с.ukтранзакціярозподілені системимікросервісна архітектураузгодженість данихпатерни проектуванняtransactiondistributed systemsmicroservice architecturedata consistencydesign patternsДослідження транзакційності в розподілених системахResearch of transactionality in distributed systemsBachelor Thesis