словах, что для меня в итоге значит и как выбрать между синхронным и асинхронным?
Асинхронный почти всегда лучше. Синхронный блокирует поток выполнения при ожидании (СУ)БД, асинхронный нет. (AFAIK)
Получается в асинхронном подходе нет транзакций?
Не совсем. Синхронный ток который работает без асинка, а асинхронный с асинком.
Нет, это два разных подхода написания программ.
Красный это красный, а зелёный это зелёный)
Тебя тут максимум затроллят с таким вопросом, это не объяснить в двух словах, надо погружаться, чтобы понять что такое асинхронная модель исполнения и следовательно асинхронный код
лучше в плане, что почти всегда лучше подходит
Судя по вопросу можно предположить что вы или не опытный программист, или не работали с асинком. Берите синхронный если это маленький проект.
не всегда, если весь проект без асинкая зачем поднимать рантайм асинка для выполнения запросов к бд и больше нигде?
это опасное заблуждение. асинхронность не бесплатна. если у вас заранее известен объём задач, их почти наверняка быстрее будет распараллелить и выполнить синхронно.
https://t.me/rustlang_ru/547111
Тут речь шла об общении с СУБД, всё что можно уже распараллелено в недрах СУБД, нам остаётся только ждать результатов запросов. Тут асинк ничем не хуже синхронного выполнения.
Оверхед все равно остается, если запросов < потоков, то параллелить разумное решение в случае, если печешься о latency
Оверхед - это поиск какую таску разбудить? Что-то я сомневаюсь, что его можно увидеть без микроскопа
Разные задачи бывают
разница в том какой шедулер будет выбирать таски, шедулер ОС или шедудер в асинке
Обсуждают сегодня