Pull to refresh

Comments 8

Вопрос, я может отстал от жизни. А Sanic уже не такой быстрый? Или он устарел?

https://www.techempower.com/benchmarks/#section=data-r21&l=zijzen-6bj
Примерно там же где и fastapi.
Ну и скорость эта конечно относительная - отстает от многих других языков/фреймворков, но я очень сомневаюсь что async python недостаточно быстрый для большинства бизнес приложений.

Тут точно не переживайте. Абсолютно любой фреймворк на абсолютно любом языке достаточно быстрый для 99.9999% приложений. Не встречал приложений у которых проблемой производительности хоть на 0.001% был бы API фреймворк. Всегда раньше упрутся в базу, ивентбас, кукую бы то ни было интеграцию...

Если даже, вдруг, случится - серверный слой легко и дешево масштабируется горизонтально.

Но статья, как обзор на FastAPI, хорошая. Хоть и название у фреймворка "кричащее"

Вообще рекомендую просто посмотреть код starlette - самого приложения там буквально тысяча строк кода.

А можно вопрос? Если fastapi приложение заворачивается в docker и запускается за nginx, нужно ли использовать uvicorn/gunicorn?

nginx из коробки ничего кроме статических файлов раздавать не умеет. Поэтому вам в любом случае нужен какой-то сервер который будет крутить ваше приложение, a nginx обычно будет стоять как reverse proxy.

ну так у меня fastapi приложение в докере спокойно крутится... я не очень понимаю пока только необходимость дополнительных uvicorn/gunicorn в контейнере...

Автор его использует для авто рестарта при изменении файлов. Но этим функционал process manager не ограничивается. Если хотите перезапускать приложение при фейле, или запускать разные приложения на одном сервере (в одном контейнере) на разных портах и потом шарить их под разными доменами, или запустить несколько инстансов приложения через встроенный LB, или хотите перенаправить логирование кудабы-то ни было. С базовыми настройками проще (типа сертификат поменять не пересобирая и не перезапуская контейнер).
Не уверен, что uvicorn лучший выбор тут... Я бы выбрал pm2, он хоть и на nodejs, но python будет крутить не хуже. Или supervisord

Вы эти проблемы можете и по-другому решать. Так что можно и без него.

Sign up to leave a comment.

Articles