Детальная информация

Название: Обеспечение транзакционности в микросервисной архитектуре: выпускная квалификационная работа магистра: направление 09.04.01 «Информатика и вычислительная техника» ; образовательная программа 09.04.01_15 «Технологии проектирования системного и прикладного программного обеспечения»
Авторы: Медведев Михаил Анатольевич
Научный руководитель: Стручков Игорь Вячеславович; Зозуля Алексей Викторович
Другие авторы: Новопашенный Андрей Гелиевич
Организация: Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и технологий
Выходные сведения: Санкт-Петербург, 2020
Коллекция: Выпускные квалификационные работы; Общая коллекция
Тематика: Вычислительные машины электронные — Программирование системное; Вычислительные машины электронные — Архитектура; микросервисы; транзакционность; согласованность данных; JAVA
УДК: 004.4+004.312
Тип документа: Выпускная квалификационная работа магистра
Тип файла: PDF
Язык: Русский
Уровень высшего образования: Магистратура
Код специальности ФГОС: 09.04.01
Группа специальностей ФГОС: 090000 - Информатика и вычислительная техника
Ссылки: Отзыв руководителя; Рецензия; Отчет о проверке на объем и корректность внешних заимствований
DOI: 10.18720/SPBPU/3/2020/vr/vr20-769
Права доступа: Доступ по паролю из сети Интернет (чтение, печать, копирование)
Ключ записи: ru\spstu\vkr\6314

Разрешенные действия:

Действие 'Прочитать' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети Действие 'Загрузить' будет доступно, если вы выполните вход в систему или будете работать с сайтом на компьютере в другой сети

Группа: Анонимные пользователи

Сеть: Интернет

Аннотация

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

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.

Права на использование объекта хранения

Место доступа Группа пользователей Действие
Локальная сеть ИБК СПбПУ Все Прочитать Печать Загрузить
Внешние организации №2 Все Прочитать
Внешние организации №1 Все
Интернет Авторизованные пользователи СПбПУ Прочитать Печать Загрузить
Интернет Авторизованные пользователи (не СПбПУ, №2) Прочитать
Интернет Авторизованные пользователи (не СПбПУ, №1)
-> Интернет Анонимные пользователи

Оглавление

  • 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

Статистика использования

stat Количество обращений: 32
За последние 30 дней: 0
Подробная статистика