Тема: Модернизация архитектуры существующей распределенной информационной системы в ООО «Квартплата 24»
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 6
1 Характеристика организации и экосистемы сервисов 8
1.1 Характеристика организации 8
1.2 Анализ экосистемы сервисов с точки зрения архитектуры 8
1.3 Микросервисная и реактивная архитектуры 12
1.4 Постановка задачи на разработку микросервиса 15
2 Построение микросервиса 17
2.1 Требования к разрабатываемому микросервису 17
2.2 Проектирование архитектуры микросервиса, основанного на
командах и событиях 18
2.3 Описание инструмента разработки реактивных микросервисов . 24
2.4 Доставка сообщений между сервисами экосистемы 29
2.5 Разработка диаграммы классов микросервиса 35
2.6 Архитектура микросервиса в контексте интеграции в
существующую экосистему 38
3 Разработка микросервиса 40
3.1 Выбор средств реализации микросервиса 40
3.2 Реализация основных модулей микросервиса 43
3.3 Тестирование работоспособности микросервиса 47
Заключение 50
Список используемых источников 52
Приложение А Классы, реализующие интерфейс Command 55
Приложение Б Архитектура экосистемы сервисов 56
Приложение В Реализация команд, обрабатываемых микросервисом . 58
Приложение Г Реализация событий сервиса 61
Приложение Д Фрагмент кода с методами и запросами сервиса 67
Приложение Е Фрагмент кода с реализацией методов API 68
Приложение Ж Подключение базы данных к сервису 70
Приложение И Конфигурация брокера сообщений Apache Kafka 71
📖 Введение
В наше время люди слишком сильно полагаются на различные технологии в своей повседневной жизни, поэтому современные системы должны удовлетворять требованиям современного пользователя, быть отзывчивыми и отказоустойчивыми. Как недоступность сервисов в течение пары часов повлияет на вашу жизнь? Это может не оказать существенного влияния на вас, если вы не пользуетесь веб-сервисами на постоянной основе, но что будет, если поисковая система, такая как Google, будет отвечать на ваш запрос не за секунду, а за тридцать секунд?
Пользователи неотзывчивого программного обеспечения со временем устанут от подобных проблем и начнут смотреть в сторону конкурентов. Для решения подобных проблем существуют микросервисы на основе реактивной архитектуры.
Актуальность данной работы заключается в необходимости отказа от классических принципов построения информационных систем в пользу современных архитектурных решений, позволяющих разрабатывать высоконагруженные, отказоустойчивые, масштабируемые и отзывчивые системы.
Целью данной выпускной квалификационной работы является модернизация архитектуры, существующей распределенной информационной системы путем внедрения микросервисных технологий на основе реактивной архитектуры, что послужит основой для последующего полного перехода к микросервисной архитектуре.
Для достижения поставленной цели необходимо выполнить промежуточные задачи:
- изучить текущее архитектурное решение экосистемы сервисов в ООО «Квартплата 24»;
- описать альтернативное архитектурное решение в виде микросервисной и реактивной архитектур;
- разработать микросервис, соблюдая принципы построения реактивных микросервисов;
Объект исследования - экосистема сервисов в ООО «Квартплата 24».
Предметом исследования является построение распределенной информационной системой, разделенной на модули-микросервисы, каждый из модулей сконцентрирован не на решении комплекса задач, а одной конкретной бизнес-задаче.
Методы исследования - микросервисные и реактивные архитектуры, построение реактивных микросервисов.
Первая глава содержит описание экосистемы сервисов в ООО «Квартплата 24», характеристику текущего архитектурного решения и преимуществ микросервисной, реактивной архитектур.
Вторая глава посвящена построению микросервисного приложения на основе команд и событий, а также решению проблемы доставки данных между микросервисами.
В третьей главе описаны инструменты разработки и процесс разработки микросервиса, тестирование работоспособности.
Результаты выполнения данной выпускной квалификационной работы имеют практический интерес и могут быть рекомендованы разработчикам высоконагруженных информационных систем.
✅ Заключение
Соблюдение принципов построения микросервисов, основывающихся на принципах реактивных систем, позволяют разрабатывать информационные системы, соответствующие требованиям современного пользователя.
В процессе работы над выпускной квалификационной работой были решены следующие задачи:
Произведен анализ и дана характеристика существующей распределенной информационной системы, представляющую из себя группу тесно интегрированных сервисов, являющихся приложениями, построенными по принципам монолитной архитектуры. Описаны преимущества и недостатки монолитной архитектуры.
Рассмотрен альтернативный вариант проектирования приложений, описаны основные принципы построения реактивных систем, приведены преимущества микросервисов над монолитами.
Подробно разобраны основные требования к разрабатываемому микросервису. Построена архитектура разрабатываемого микросервиса на основе шаблона источника событий и фреймворка Lagom, служащего для построения реактивных микросервисов. Решена проблема передачи данных между сервисами экосистемы, в результате сравнительного анализа в качестве инструмента для доставки сообщений был выбран брокер сообщений Apache Kafka, с помощью которого разработанный микросервис был интегрирован в существующую информационную распределенную систему. Были описаны алгоритмы, по которым обрабатываются полученные сервисом команды. Представлены основные команды и события разрабатываемого сервиса, диаграмма классов-команд, архитектура распределенной информационной системы с интегрированным в нее микросервисом.
Основываясь на требованиях к данной выпускной квалификационной работе, был разработан гибкий, отказоустойчивый, горизонтально масштабируемый, реактивный микросервис, выполняющий функцию создания, изменения и закрытия договоров компании ООО «Квартплата 24» с организациями клиентами и платежными системами. Языком программирования для реализации кодовой базы микросервиса был выбран Scala.
Выполнено тестирование основного функционала разработанного микросервиса, а именно создание договора, изменение договора.
Результаты выполнения данной выпускной квалификационной работы имеют практический интерес и могут быть рекомендованы разработчикам высоконагруженных, производительных, отказоустойчивых информационных систем.



