Starlette без FastAPI: когда микрофреймворк выгоднее «полного комбайна»
Берите Starlette не «потому что async», а когда HTTP-слой тонкий: webhooks, прокси, health endpoints, internal API, сервис вокруг очереди. Меньше магии — проще увидеть цену каждого запроса.
Мини-чек-лист:
— lifespan для подключений к БД, Redis, брокерам;
— middleware только для сквозных задач: trace id, auth, timing;
— request.state для контекста запроса, не для бизнес-данных;
— явные Response-классы для headers, streaming и status code.
Типовая ошибка — тащить сюда привычки из Django: fat views, скрытые сайд-эффекты, синхронные клиенты внутри async route. Если нужны ORM, админка, templates и permissions из коробки, микрофреймворк быстро превращается в самодельный фреймворк.
Проверка простая: endpoint должен читаться как «вход → проверка → сервис → ответ». Если middleware правит payload, а клиенты создаются где попало, вы строите не тонкий ASGI-слой, а загадку для дежурного.
Python Web & Scripts — Django, FastAPI, скрипты
@python_web_scripts
Starlette без FastAPI: когда микрофреймворк выгоднее «полного комбайна»
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.