Тип работы:
Предмет:
Язык работы:


РАЗРАБОТКА МОДУЛЯ ОБРАБОТКИ HTTP-ЗАПРОСА НА ОСНОВЕ ПРОТОКОЛА WSGI

Работа №183209

Тип работы

Бакалаврская работа

Предмет

информатика

Объем работы49
Год сдачи2023
Стоимость4500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
13
Не подходит работа?

Узнай цену на написание


АННОТАЦИЯ 3
ПЕРЕЧЕНЬ УСЛОВНЫХ ОБОЗНАЧЕНИЙ 4
ВВЕДЕНИЕ 5
1 Анализ 6
1.1 Платформа VDOM 6
1.1.1 VDOM HTTP Layer 8
1.1.2 VDOM Server Module 8
1.2 Основные требования 9
1.2.1 Функциональные тр ебования 9
1.2.2 Нефункциональные требования 9
1.3 Обзор существующих интерфейсов 9
1.3.1 CGI 10
1.3.2 WSGI 10
1.3.3 ASGI 11
1.3.4 Итог обзора интер фейсов 12
1.4 Обзор веб-серверов 12
1.4.1 uWSGI 12
1.4.2 Gunicorn 13
1.4.3 Nginx-unit 13
1.4.4 Итог обзора веб-серверов 14
2 Проектирование 15
2.1. Стандарт WSGI 17
2.2. Архитектура модуля WSGI 18
3 Реализация 23
3.1 Веб-сервер 23
3.1.1 Использование X-Sendfile 26
3.2 Модуль WSGI 27
4 Нагрузочное тестирование 32
4.1 Выбор ПО для нагрузочного тестирования 32
4.1.1 Yandex.Tank 32
4.1.2 NeoLoad 33
4.1.3 Apache Jmeter 35
4.1.4 Итог выбора ПО для тестирования 36
4.2 Проведение тестирования 36
4.2.1 VDOM сервер без WSGI модуля 39
4.2.2 VDOM сервер с WSGI модулем и uWSGI сервером 41
4.3 Итог тестирования 43
ЗАКЛЮЧЕНИЕ 44
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ 45

Технологии постоянно находятся в процессе развития, создаются новые решения для веб-серверов, веб-фреймворки. Возникает проблема совместимости веб-серверов между веб-фреймворками. Если у разработчика появится желание сменить какую-либо из частей, то ему сперва нужно подумать о совместимости, что может существенно уменьшить доступный выбор.
Стандарт WSGI позволяет освободить разработчика от выбора по совместимости, достаточно иметь поддержку WSGI с обеих сторон. Существующие сервера, имеющие поддержку стандарта WSGI, предоставляют шир окий функционал.
Платформа VDOM (Visual Dynamic Object Model) имеет VDOM сервер - собственная реализация веб-сервера, с помощью которого происходит размещение и управление веб-приложениями, на данном сервере отсутствует поддержка WSGI и эффективная реализация обработки http-запросов.
Целью данной работы является создание WSGI-модуля для внедрения в VDOM server, что позволит перейти от собственной реализации веб-сервера на любой другой, поддерживающий протокол WSGI, и имеющий гораздо больший функционал. В данной работе также будет организована работа нового модуля с веб-сервером uWSGI.
Для выполнения поставленной цели был составлен список задач:
1. Изучение существующих технологий и решений;
2. Проектирование новой архитектуры;
3. Разработка модуля;
4. Интеграция модуля в сервер runtime;
5. Проведение нагрузочного тестирования.


Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


В результате данной работы, были достигнуты следующие результаты:
1. Разработан модуль WSGI;
2. Произведена интеграция модуля в VDOM сервер;
3. Организована работа модуля с сервером uWSGI;
4. Проведено нагрузочное тестирование модуля.
Основной функционал модуля WSGI был полностью реализован.
В дальнейшем планируется глубже интегрировать модуль WSGI, добавив поддержку мультипоточности для веб-приложений.



1. WYSIWYG - википедия [Электронный ресурс] URL: https://ru.wikipedia.org/wiki/WYSIWYG (дата обращения 25.10.2022)
2. Скачивание файлов с помощью X-Sendfile - Русские Блоги [Электронный ресурс] URL: https://russianblogs.com/article/2703828096/ (дата обращения 25.10.2022)
3. HTTP requests - IBM Documentation [Электронный ресурс] URL: https://www.ibm.com/docs/en/cics-ts/5.3?topic=protocol-http-requests (дата обращения 01.11.2022)
4. PEP 333 - Python Web Server Gateway Interface v1.0 [Электронный ресурс] URL: https://peps.python.org/pep-0333/ (дата обращения 3.11.2022)
5. Korboulewsky N. V.D.O.M. BOX Technology V.D.O.M. / V.D.O.M. v2 - W.H.O.L.E.V1 - E2.V.D.O.M. v1 - 7 rue Saint Henri 31000 Toulouse, 2007. - P.26
6. Common Gateway Interface - Wikipedia [Электронный ресурс] URL: http s://en.wikip edia. org/wiki/Common_Gateway_Interface (дата обр ащения 03.11.2022)
7. Learn about WSGI - WSGI.org [Электронный ресурс] URL: https://wsgi.readthedocs.io/en/latest/learn.html (дата обращения 04.11.2022)
8. Introduction to ASGI: Emergence of an Async Python Web Ecosystem - Florimond Manca [Электронный ресурс] URL: https://florimond.dev/en/posts/2019/08/introduction-to-asgi-async-python-web/
(дата обращения 05.11.2022)
9. The uWSGI project — uWSGI 2.0 documentation [Электронный ресурс] URL: https://uwsgi-docs.readthedocs.io/en/latest/ (дата обращения 10.11.2022)
10. What Is Gunicorn, and What Does It Do? • vsupalov.com [Электронный ресурс] URL: https://vsupalov.com/what-is-gunicorn/ (дата обращения 12.11.2022)
11. Universal Web App Server - NGINX Unit [Электронный ресурс] URL: https://unit.nginx.org/ (дата обращения 15.11.2022)
12. Yandex/yandex-tank: Load and p erformance benchmark tool [Электронный ресурс] URL: https://github.com/yandex/yandex-tank (дата обращения 20.11.2022)
13. Tricentis NeoLoad for enterprise Perfomance Testing [Электронный р есур с] URL http s://www.tricentis. com/p roducts/p erformance-testing-neolo ad (дата обращения 20.11.2022)
14. Apache JMeter - Apache JMeter™ [Электронный ресурс] URL https://jmeter.apache.org/ (дата обращения 20.11.2022)



Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ