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

Ескіз недоступний

Дата

2023

Назва журналу

Номер ISSN

Назва тому

Видавець

КПІ ім. Ігоря Сікорського

Анотація

Дана робота присвячена дослідженню проблеми підтримки в розподілених системах властивості транзакційності, та способів її забезпечення за допомогою існуючих методів, алгоритмів та шаблонів проектування. В ході роботи було наведено причини виникнення та популярності мікросервісної архітектури інформаційних систем, як виду розподілених систем. Окрім цього було визначено основні властивості транзакцій, а також які є проблеми в тому, аби досягти властивості транзакційності в розроблених з використанням мікросервісної архітектури системах. Робота присвячена вирішенню наведених вище проблем з допомогою алгоритму двофазної транзакції, а також шаблону (патерну) проектування SAGA та Transactional Outbox & Transactional Inbox. Для кожного із них наведено перелік основних переваг та недоліків їх використання в розподілених системах. Для перевірки роботи SAGA та Transactional Outbox & Inbox, та їх бенчмаркінгу та порівняння було реалізовано два тестових стенди у вигляді систем з однаковими функціями, а саме системи для подачі заявок на отримання відшкодування від пошкоджень нерухомості, внаслідок бойових дій. Ці тестові стенди було розгорнуто в хмарному середовищі, з використанням такого провайдера як Amazon Web Services. За допомогою цих тестових стендів було проведено детальний аналіз роботи реалізованих патернів. В ході аналізу було визначено ефективність вирішення проблем для забезпечення транзакційності в розподілених системах, складність їх реалізації та підтримки систем з використанням цих патернів, часу на обробку функцій системи та збільшенню використання апаратних ресурсів, що зумовлені роботою цих патернів. За результатами проведеного аналізу та порівняння було сформовано рекомендації до їх використання, залежно від сценаріїв застосування. Загальний обсяг роботи: 105 сторінок, 7 таблиць, 23 рисунки, 32 джерела, 4 додатки

Опис

Ключові слова

транзакція, розподілені системи, мікросервісна архітектура, узгодженість даних, патерни проектування, transaction, distributed systems, microservice architecture, data consistency, design patterns

Бібліографічний опис

Макрушин, А. М. Дослідження транзакційності в розподілених системах : дипломний проект … бакалавра : 122 Комп'ютерні науки / Макрушин Андрій Миколайович. – Київ, 2023. – 106 с.

DOI