Details

Title: Обеспечение транзакционности в микросервисной архитектуре: выпускная квалификационная работа магистра: направление 09.04.01 «Информатика и вычислительная техника» ; образовательная программа 09.04.01_15 «Технологии проектирования системного и прикладного программного обеспечения»
Creators: Медведев Михаил Анатольевич
Scientific adviser: Стручков Игорь Вячеславович; Зозуля Алексей Викторович
Other creators: Новопашенный Андрей Гелиевич
Organization: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Imprint: Санкт-Петербург, 2020
Collection: Выпускные квалификационные работы; Общая коллекция
Subjects: Вычислительные машины электронные — Программирование системное; Вычислительные машины электронные — Архитектура; микросервисы; транзакционность; согласованность данных; JAVA
UDC: 004.4+004.312
Document type: Master graduation qualification work
File type: PDF
Language: Russian
Level of education: Master
Speciality code (FGOS): 09.04.01
Speciality group (FGOS): 090000 - Информатика и вычислительная техника
Links: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-769
Rights: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Record key: ru\spstu\vkr\6314

Allowed Actions:

Action 'Read' will be available if you login or access site from another network Action 'Download' will be available if you login or access site from another network

Group: Anonymous

Network: Internet

Annotation

Тема выпускной квалификационной работы: «Обеспечение транзакционности в микросервисной архитектуре». Магистерская диссертация посвящена изучению проблемы обеспечения транзакционности в микросервисной архитектуре, а также предложению подхода, который будет решать данную проблему, не затрагивая бизнес-логику системы. Задачи, которые решались в ходе работы: изучение существующих подходов и их анализ; описание принципа работы и основных особенностей предлагаемого подхода;реализация программных компонентов; выполнение модульного, интеграционного и нагрузочного тестирования системы; оценка возможности применения разработанного подхода в реальных системах. В работе приведены обзор и анализ существующих подходов, решающих проблему согласованности данных. В ходе работы предлагается подход, обеспечивающий транзакционность в микросервисной среде, основанный на преимуществах существующих подходов и не требующий взаимодействия или изменения бизнес-логики системы. В результате работы были разработаны программные компоненты, которые отвечают поставленным требованиям и ограничениям,а также при встраивании которых будет обеспечена согласованность данных в системе. Было проведено исследование, нацеленное на проверку работы каждого компонента и их взаимодействия друг с другом в системе. В итоге было определено, что разработанные компоненты могут использоваться в средне-нагруженных системах для обеспечения транзакционности.

The subject of the graduate qualification work is «Providing transactionality in the microservice architecture». The master’s thesis is devoted to the research of the problem of providing transactionality in the microservice architecture, as well as tothe proposal of an approach that will solve this problem without affecting the business logic of the system. During the work this tasks were solved:examining and analyse the existing approaches; describing the principle of operation and main features of the proposed approach; implementation of software components; unit, integration and load testing of the system;assessment of the possibility of applying the developed approach in real systems. The paper provides an overview and analysis of existing approaches that solve the problem of data consistency. In the course of work, an approach is proposed that provides transactionality in the microservice environment based on the advantages of existing approaches and does not require interaction or changes in the business logic of the system. As a result of the work, software components have been developed that satisfy the requirements and restrictions. Data consistency in thesystem will be provided by embedding those components. A research was conducted to test each component and their interaction with eachother in the system. As a result, has been determined that developed components can be used in mid-loaded systems to provide transactionality.

Document access rights

Network User group Action
ILC SPbPU Local Network All Read Print Download
Internet Authorized users SPbPU Read Print Download
-> Internet Anonymous

Table of Contents

  • 944d7dea65daaef2ca301a991437b91aef148b297058abfa16d2dcfa0782a6be.pdf
  • 944d7dea65daaef2ca301a991437b91aef148b297058abfa16d2dcfa0782a6be.pdf
  • 10aa10d7b2d2d2f64a3746cb1cf6b4d3952f575bd8795f90ed35076c83d5b875.pdf
  • 944d7dea65daaef2ca301a991437b91aef148b297058abfa16d2dcfa0782a6be.pdf
    • СПИСОК ОБОЗНАЧЕНИЙ И СОКРАЩЕНИЙ
    • ВВЕДЕНИЕ
    • 1. Обзор и анализ существующих решений
      • 1.1. Введение в предметную область
      • 1.2. Протокол двухфазного коммита
        • 1.2.1. Фаза подготовки
        • 1.2.2. Фаза фиксации
        • 1.2.3. Оптимизации протокола
      • 1.3. Протокол трехфазного коммита
        • 1.3.1. Фаза подготовки
        • 1.3.2. Фаза предварительной фиксации
        • 1.3.3. Фаза фиксации
      • 1.4. Протокол <<распределенная сага>>
      • 1.5. Транзакции в среде бизнес-процессов
        • 1.5.1. Оркестровка
        • 1.5.2. Хореография
        • 1.5.3. BPMN в контексте микросервисов
        • 1.5.4. Zeebe
      • 1.6. Spring Framework
        • 1.6.1. Глобальные транзакции
        • 1.6.2. Локальные транзакции
        • 1.6.3. Аннотация @Transactional
      • 1.7. Транзакции в базах данных
        • 1.7.1. HBase
        • 1.7.2. VoltDB
        • 1.7.3. Остальные базы данных
      • 1.8. Резюме
    • 2. Постановка задачи
      • 2.1. Детальная постановка задачи
      • 2.2. Выбор технологии
      • 2.3. Ограничения
      • 2.4. Решаемые задачи
      • 2.5. Резюме
    • 3. Проектирование
      • 3.1. Инфраструктура
      • 3.2. Описание принципа работы
        • 3.2.1. Терминология
        • 3.2.2. Принцип работы
        • 3.2.3. Этап <>
        • 3.2.4. Этап <>
      • 3.3. Компоненты системы
        • 3.3.1. Interlayer
        • 3.3.2. Scheduler
      • 3.4. Резюме
    • 4. Разработка
      • 4.1. Interlayer
        • 4.1.1. Модели
        • 4.1.2. Перехватчик запросов
        • 4.1.3. Аннотация @Services
        • 4.1.4. Сервисы
      • 4.2. Scheduler
        • 4.2.1. Обработка запросов
        • 4.2.2. Очереди запросов
        • 4.2.3. Пересборка очередей запросов
        • 4.2.4. Исполнение запросов
        • 4.2.5. Сохранение транзакций
      • 4.3. Резюме
    • 5. Тестирование и анализ результатов
      • 5.1. Модульное тестирование
      • 5.2. Интеграционное тестирование
      • 5.3. Нагрузочное тестирование
      • 5.4. Резюме
    • ЗАКЛЮЧЕНИЕ
    • СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
    • ПРИЛОЖЕНИЕ 1. Листинги Interlayer
    • ПРИЛОЖЕНИЕ 2. Листинги Scheduler

Usage statistics

stat Access count: 34
Last 30 days: 0
Detailed usage statistics