170 похожих чатов

Когда стоит использовать асинхронный фрейворк по типу FastAPI? У меня планируется

CRM система с DDD-архитектурой, конечное количество пользователей не известно, но предполагается в промежутке от 15 до 30.
Думаю тот же Flask будет без проблем обрабатывать такую нагрузку, и надобность в оптимизации не особо большая.
Хотелось бы узнать, что дает асинхронность в api, помимо оптимизации.

22 ответов

33 просмотра

Async - когда общаешься по средствам веб советов - гуд👍

когда синхронный кажется медленным

Singlet0n🌚 Alone
мне больше нравится aiohttp

А мне больше нравится Пакет bs4 👍👍

GHdeewre- Автор вопроса
Singlet0n🌚 Alone
мне больше нравится aiohttp

Может конечно плохая идея сравнивать фреймворки по бенчмаркам, ведь некоторые из них специализированы на конкретные задачи. Но fastAPI в два раза быстрее aiohttp. (https://www.techempower.com/benchmarks/) Но вообще, я все еще не увидел особых плюсов от асинхронного фрейма кроме оптимизации. Хотя ответ выше с использованием websocket слегка их оправдывает, теперь осталось понять, нужен ли мне чат или еще что либо, где я не смогу с long polling обойтись

Singlet0n🌚 Alone
при чём тут bs4?

Причём тут aiohttp?👍😘❤️💋

GHdeewre
Может конечно плохая идея сравнивать фреймворки по...

ну если не уверен что тебе они понадобятся можешь хотяб для галочки изучить... ну это доп. плюс скажем так... как для тебя так и для работодателя

Saint JKearnsl ༒🇷🇺
Причём тут aiohttp?👍😘❤️💋

чел, не позорь себя, давай лучше просто забыть то что ты сказал

GHdeewre
Может конечно плохая идея сравнивать фреймворки по...

Когда запросы порядка 200мс, и их большое кол-во, то aiohttp будет показывать прекрасную скорость относительно того же fastAPI. Потерял график, найду - отошлю сюда.

GHdeewre
Может конечно плохая идея сравнивать фреймворки по...

Ещё асинхронка хорошо подходит для реализации всяких "умных" проксей, gateway-ев и "агрегаторов". Например что бы клиент одним запросом мог получить данные из нескольких других сервисов. Там основное время обработки запросов - это чистое IO.

Flask будет работать хорошо с нормальной скоростью. Если вы беспокоитесь об этом, то не стоит

смотрите, если перевести задачу на Azure Functions + Azure API, это одни деньги, если в Flask + uWSGI + Supervisord, то немного другие, надо пробовать, прикидывать, что лучше, как я понимаю, есть разница и по Dev Effort, и по результату. FastAPI сам по себе не решает проблемы, если у вас инфраструктурные проблемы, и есть слабости со стороны Ops, будет все равно, на чем вы реализуете логику

В целом, асинхронные фреймворки по типу FastAPI стоит использовать, когда у вас настроен и работает CI/CD, я так понимаю, есть работа в K8s, настроено логгирование, на уровне Azure, Google Cloud, есть трассировка, отладка на проде, тестовые окружения, продакшн, настроен Git, есть политика написания кода, автоматический хуки на Git, проверка и валидация кода, и вот все такое

Когда у тебя очень много конкурентных сетевых запросов

Илон Маск
смотрите, если перевести задачу на Azure Functions...

Зачем супервизор только вообще непонятно

Я не понял, как связан деплой с тем, что фреймворк ассинхронный

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта