О, только на днях гуглил, что бы выбрать вместо uwsgi, а то давно не занимался деплоем Python приложений. Спасибо за видео, но к тестированию есть вопросики. Ваш самодельны WSGI сервер делает примерно четверть от той работы, которую делает uwsgi: он не парсит заголовки, не обрабатывает тело. Плюс обработка запроса супер наивная, и она сломается, если в запросе всё-таки будет тело. То есть вывод, что такой самописный WSGI сервер отличается от uwsgi только однопоточностью, слишком скоропостижен. А для более корректных выводов нужны более продолжительные тесты. А как демонстрация принципа работы - да, вполне интересное видео.
Конечно, пример базовой работы показан и не нацелен показать, что проект в 150 строк сопоставим по функционалу и обогнал по производительности сишный проект, который ведут десятки лет
Я задам вопрос немного не по теме, но как наш самописный сервер, который умеет работать только с TCP каким-то образом получает данные по HTTP протоколу. Он же по идее не должен уметь так
TCP протокол транспортного уровня, http уровня приложения (по сути формат сообщений, которыми мы обмениваемся (метод, заголовки и тд). Обычно http работает поверх TCP, но можно написать и по UDP Вроде как http/3 будет работать поверх QUIC - habr.com/ru/companies/vdsina/articles/501840/
Спасибо вам за лекцию! Анонимный ученик 11 класса выражает благодарность! :)
О, только на днях гуглил, что бы выбрать вместо uwsgi, а то давно не занимался деплоем Python приложений.
Спасибо за видео, но к тестированию есть вопросики. Ваш самодельны WSGI сервер делает примерно четверть от той работы, которую делает uwsgi: он не парсит заголовки, не обрабатывает тело. Плюс обработка запроса супер наивная, и она сломается, если в запросе всё-таки будет тело. То есть вывод, что такой самописный WSGI сервер отличается от uwsgi только однопоточностью, слишком скоропостижен. А для более корректных выводов нужны более продолжительные тесты.
А как демонстрация принципа работы - да, вполне интересное видео.
Конечно, пример базовой работы показан и не нацелен показать, что проект в 150 строк сопоставим по функционалу и обогнал по производительности сишный проект, который ведут десятки лет
Я задам вопрос немного не по теме, но как наш самописный сервер, который умеет работать только с TCP каким-то образом получает данные по HTTP протоколу. Он же по идее не должен уметь так
TCP протокол транспортного уровня, http уровня приложения (по сути формат сообщений, которыми мы обмениваемся (метод, заголовки и тд).
Обычно http работает поверх TCP, но можно написать и по UDP
Вроде как http/3 будет работать поверх QUIC - habr.com/ru/companies/vdsina/articles/501840/
Я всегда это произносил как вэ-эс-джи-ай (либо даблью-эс-джи-ай)
Погуглил и действительно:
WSGI (произносится как «whiz-gee» с твердым «g»)
Не могли бы вы поделиться кодом своего wsgi?
Конечно, ловите:
gist.github.com/Afaneor/ccf3affa0fe61049170a9f1583de3364