Details
| Title | Разработка серверной части высоконагруженного веб-приложения: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» = Development of the server side of a highly loaded web application |
|---|---|
| Creators | Кашмак Станислав Вячеславович |
| Scientific adviser | Шемякин Илья Александрович |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | социальная сеть ; микросервисная архитектура ; асинхронное взаимодействие ; нагрузочное тестирование ; python ; fastapi ; social network ; microservice architecture ; asynchronous interaction ; load testing |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-3485 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42678 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
Целью работы является проектирование и разработка серверной части высоконагруженного веб-приложения на основе микросервисного подхода. В ходе работы проведен анализ предметной области высоконагруженных социальных платформ, проведен сравнительный анализ архитектурных подходов и технических инструментов. Были выбраны следующие технические инструменты: язык программирования Python, фреймворк FastAPI, асинхронный брокер сообщений RabbitMQ, базы данных PostgreSQL и Redis, поисковый движок Elasticsearch, система контейнеризации Docker и Docker Compose. Далее была спроектирована архитектура системы из пяти ключевых микросервисов, взаимодействующих между собой асинхронно с помощью RabbitMQ. Все микросервисы были реализованы с использованием FastAPI, настроено взаимодействие через очереди сообщений, реализовано кэширование и полнотекстовый поиск. Далее было проведено трехуровневое тестирование, включающее в себя модульное тестирование, интеграционное тестирование и системное. Заключительным этапом стало нагрузочное тестирование с эмуляцией до 10000 одновременных пользователей. Итоговые результаты подтвердили способность системы выдерживать высокие нагрузки, а архитектура позволяет эффективно масштабировать всю систему.
The purpose of the work is to design and develop the backend of a highly loaded web application based on a microservice approach. In the course of the work, an analysis of the subject area of highly loaded social platforms was carried out, a comparative analysis of architectural approaches and technical tools was carried out. The following technical tools were selected: Python programming language, FastAPI framework, asynchronous message broker RabbitMQ, PostgreSQL and Redis databases, Elasticsearch search engine, Docker containerization system and Docker Compose. Next, the architecture of the system was designed from five key microservices that interact asynchronously using RabbitMQ. All microservices were implemented using FastAPI, communication via message queues was configured, caching and full-text search were implemented. Next, three-level testing was conducted, including unit testing, integration testing and system testing. The final stage was load testing with emulation of up to 10,000 simultaneous users. The final results confirmed the systems ability to withstand high loads, and the architecture allows for efficient scaling of the entire system.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|