Статья опубликована в рамках: CCXXXVII Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 28 мая 2026 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
ПОДХОД К ФОРМАЛИЗАЦИИ ГРАНИЦ МИКРОСЕРВИСОВ ПРИ ПРОЕКТИРОВАНИИ РАСПРЕДЕЛЕННЫХ ЦИФРОВЫХ ПЛАТФОРМ
AN APPROACH TO FORMALIZING MICROSERVICE BOUNDARIES IN THE DESIGN OF DISTRIBUTED DIGITAL PLATFORMS
Grishkov Aleksandr Vladimirovich
2nd year master’s student, Moscow State University of Technology “STANKIN”,
Russia, Moscow
АННОТАЦИЯ
В статье рассматривается подход к формализации границ микросервисов при проектировании распределённых цифровых платформ. Обоснована проблема эвристического выделения сервисов, приводящая к риску формирования распределённого монолита. Предложена последовательная модель декомпозиции, включающая анализ предметной области, выделение бизнес-процессов и сущностей, формирование зон ответственности, определение границ микросервисов и оценку межсервисной связанности. Показано, что учёт функциональных и архитектурных требований позволяет повысить обоснованность проектных решений, обеспечить независимое масштабирование компонентов и ограничить влияние частичных отказов на работу платформы.
ABSTRACT
The article considers an approach to formalizing microservice boundaries in the design of distributed digital platforms. The problem of heuristic service decomposition is substantiated, since it may lead to the formation of a distributed monolith. A sequential decomposition model is proposed, including domain analysis, identification of business processes and entities, formation of responsibility areas, definition of microservice boundaries, and assessment of interservice coupling. It is shown that taking functional and architectural requirements into account improves the validity of design decisions, enables independent scaling of components, and limits the impact of partial failures on platform operation.
Ключевые слова: микросервисная архитектура; границы микросервисов; распределённые системы; цифровая платформа; декомпозиция; связанность компонентов; масштабируемость.
Keywords: microservice architecture; microservice boundaries; distributed systems; digital platform; decomposition; component coupling; scalability.
Развитие цифровых платформ сопровождается ростом требований к масштабируемости, отказоустойчивости, расширяемости и сопровождаемости программных систем. Для платформ электронной коммерции, корпоративных информационных систем и облачных сервисов особенно важна возможность обработки большого количества одновременных пользовательских запросов, независимого развития функциональных компонентов и сохранения работоспособности при частичных отказах. В таких условиях выбор архитектурного подхода становится одним из ключевых факторов, определяющих эффективность дальнейшего развития программного решения.
Монолитная архитектура сохраняет преимущества на начальных этапах создания программного продукта, поскольку обеспечивает простоту разработки, тестирования и развертывания. Однако по мере роста функциональности системы усиливается связанность компонентов, усложняется сопровождение, возрастает стоимость внесения изменений и снижается гибкость масштабирования. Если нагрузка увеличивается только на отдельную функциональную область, монолитное приложение всё равно часто приходится масштабировать целиком, что приводит к неэффективному использованию вычислительных ресурсов. Кроме того, отказ одного элемента монолитной системы может повлиять на доступность всего приложения.
Одним из распространённых решений данной проблемы является применение микросервисной архитектуры, при которой система строится как совокупность автономных сервисов, взаимодействующих между собой через программные интерфейсы и сообщения. Такой подход позволяет развивать, развертывать и масштабировать отдельные компоненты независимо. Вместе с тем сам факт перехода к микросервисам не гарантирует улучшения архитектурных свойств системы. При некорректном выделении сервисов может возникнуть распределённый монолит, в котором компоненты физически разделены, но логически остаются сильно связанными. В результате возрастает сложность межсервисного взаимодействия, увеличивается количество зависимостей, ухудшается сопровождаемость и снижается ожидаемый эффект от применения микросервисного подхода. Данный риск подробно рассматривается в современных работах по микросервисной архитектуре и проектированию слабосвязанных систем [1; 2].
В связи с этим актуальной задачей является формализация процесса определения границ микросервисов при проектировании распределённых цифровых платформ. Основная проблема заключается в том, что на практике декомпозиция системы часто выполняется эвристически и зависит от опыта конкретных разработчиков или архитекторов. Такой подход может быть эффективен в отдельных случаях, однако он плохо воспроизводим и не всегда позволяет обосновать выбранную структуру системы. Для повышения качества архитектурного проектирования необходима модель, которая обеспечивает последовательный переход от анализа предметной области к выделению самостоятельных сервисов с учётом функциональных, нефункциональных и архитектурных требований.
Целью исследования является разработка подхода к формализации границ микросервисов при проектировании распределённых цифровых платформ. Для достижения данной цели необходимо рассмотреть особенности предметной области, выделить ключевые бизнес-процессы и сущности системы, сформировать зоны ответственности компонентов, определить границы микросервисов и оценить полученную структуру с точки зрения связанности, масштабируемости, отказоустойчивости и расширяемости.
Предлагаемый подход основан на последовательном применении системного и функционального анализа. Системный анализ позволяет рассматривать цифровую платформу как совокупность взаимосвязанных компонентов, выполняющих определённые функции и обменивающихся данными. Функциональный анализ используется для определения основных операций системы, распределения ответственности между компонентами и выявления тех частей платформы, которые могут развиваться и масштабироваться независимо. Совместное применение данных методов позволяет избежать произвольного выделения сервисов и связать архитектурную структуру системы с реальными бизнес-процессами. Такой подход согласуется с принципами предметно-ориентированного проектирования, где границы компонентов связываются с моделью предметной области [3].
Первым этапом модели является анализ предметной области и выделение бизнес-процессов. На данном этапе определяется, какие пользовательские и внутренние сценарии должна поддерживать цифровая платформа. Для системы интернет-магазина к таким процессам относятся регистрация и аутентификация пользователей, просмотр каталога, поиск и фильтрация товаров, работа с корзиной, оформление заказа, изменение статуса заказа и формирование уведомлений. Выделение бизнес-процессов позволяет определить функциональные границы системы на уровне предметной области и зафиксировать основные сценарии, которые должны быть поддержаны архитектурой.
Вторым этапом является выделение ключевых сущностей предметной области. Для рассматриваемой цифровой платформы такими сущностями являются пользователь, товар, каталог товаров, корзина, заказ, позиция заказа и уведомление. Анализ сущностей необходим для понимания того, какие данные обрабатываются системой, какие компоненты должны владеть этими данными и какие связи возникают между различными частями платформы. На этом этапе важно не только перечислить объекты предметной области, но и определить их принадлежность к функциональным областям. Например, данные пользователя относятся к области управления пользователями, сведения о товарах — к каталогу, а информация о заказах и корзинах — к области оформления заказов.
Третьим этапом является формирование зон ответственности. Зона ответственности объединяет близкие по смыслу функции и данные, которые должны управляться одним компонентом системы. Такой подход позволяет связать бизнес-процессы и сущности с будущими сервисами. В рамках цифровой платформы интернет-магазина можно выделить зону управления пользователями, зону управления каталогом, зону оформления заказов и зону обработки уведомлений. Формирование зон ответственности позволяет уменьшить пересечение функций между компонентами и снизить риск дублирования бизнес-логики.
Четвёртым этапом является определение границ микросервисов. На основе сформированных зон ответственности выделяются автономные сервисы, каждый из которых реализует ограниченный набор функций и управляет собственной областью данных. Для рассматриваемой платформы были выделены сервис пользователей, сервис каталога, сервис заказов и сервис уведомлений. Сервис пользователей отвечает за регистрацию, аутентификацию и предоставление сведений о пользователях. Сервис каталога обеспечивает хранение, получение, поиск и фильтрацию товарных позиций. Сервис заказов реализует работу с корзиной, оформление заказа, расчёт итоговой стоимости и управление заказами. Сервис уведомлений выполняет обработку событий и формирование сообщений пользователям.
Пятым этапом является анализ связанности компонентов. После предварительного выделения микросервисов необходимо определить, какие зависимости возникают между ними и являются ли эти зависимости допустимыми. Предпочтение должно отдаваться взаимодействию через формализованные интерфейсы и события, а не прямому доступу к данным других компонентов. Такой подход позволяет сохранить независимость сервисов и упростить их дальнейшее развитие. Например, сервис заказов может получать необходимые сведения о товарах через внутренний API сервиса каталога, но не должен обращаться напрямую к базе данных каталога. Аналогично, формирование уведомлений не должно блокировать процесс оформления заказа, поскольку уведомления относятся к вспомогательным операциям и могут обрабатываться асинхронно. Использование формализованных API вместо прямого доступа к данным является одним из условий сохранения автономности сервисов [4].
Шестым этапом является учёт архитектурных требований к масштабируемости, отказоустойчивости и расширяемости. Декомпозиция должна учитывать не только функциональные границы, но и характер нагрузки на отдельные компоненты. В цифровой платформе интернет-магазина сервис каталога преимущественно обрабатывает операции чтения и поиска, поэтому при росте пользовательской активности он может испытывать более высокую нагрузку, чем другие компоненты. Выделение каталога в отдельный сервис создаёт возможность независимого масштабирования данного компонента. Сервис уведомлений, напротив, выполняет вспомогательные фоновые операции, поэтому его отказ не должен блокировать основные пользовательские сценарии. Это обосновывает необходимость асинхронного взаимодействия через брокер сообщений.
Практическое применение предложенного подхода позволило сформировать архитектуру цифровой платформы на основе микросервисной декомпозиции. Взаимодействие между компонентами было организовано с использованием комбинированной модели обмена данными. Синхронное взаимодействие через REST API применяется в операциях, где требуется немедленное получение результата, например при получении данных о товарах или проверке информации при оформлении заказа. Асинхронное взаимодействие через брокер сообщений используется для событийных и фоновых процессов, таких как обработка события создания заказа и формирование уведомления. Такое разделение позволяет снизить связанность вспомогательных процессов с основным пользовательским сценарием. Применение асинхронных событий для фоновых операций соответствует практикам построения масштабируемых распределённых систем [5].
Список литературы:
- Newman S. Building Microservices: Designing Fine-Grained Systems. 2nd ed. Sebastopol: O’Reilly Media, 2021. — 616 p.
- Richardson C. Microservices Patterns: With Examples in Java. Shelter Island: Manning Publications, 2018. — 520 p.
- Evans E. Domain-Driven Design: Tackling Complexity in the Heart of Software. Boston: Addison-Wesley, 2003. — 560 p.
- Fowler M., Lewis J. Microservices // martinfowler.com. — 2014. — URL: https://martinfowler.com/articles/microservices.html (дата обращения: 27.05.2026).
- Kleppmann M. Designing Data-Intensive Applications. Sebastopol: O’Reilly Media, 2017. — 616 p.
дипломов

