Size: a a a

2018 November 09

ТБ

Тимур Бухараев in Kotlin JVM
Sergey Zolotov
kmongo работает поверх официального async драйвера
я вроде это и говорил
источник

ТБ

Тимур Бухараев in Kotlin JVM
а вообще imho путь один - либо писать котлиновские обертки над асинхронными драйверами
либо искать готовые
это для любой базы
источник

IM

Ivan Medvedev in Kotlin JVM
Разве обычным драйвером нельзя пользваться в корутинах?
источник

SZ

Sergey Zolotov in Kotlin JVM
Ivan Medvedev
Разве обычным драйвером нельзя пользваться в корутинах?
можно, но оно будет создавать лишние потоки для запросов
источник

SZ

Sergey Zolotov in Kotlin JVM
а так смело заворачивай в withContext(Dispatchers.IO) и юзай
источник

IM

Ivan Medvedev in Kotlin JVM
Дак юзать пул соединений, создавать новые то зачем?
источник

IM

Ivan Medvedev in Kotlin JVM
У меня так работает, но может нагрузки пока маловаты, 50 rps к ктору. Каждый делает несколько запросов к бд.
источник

SZ

Sergey Zolotov in Kotlin JVM
я для базы тоже не парюсь и у меня в IO диспатчере оно крутится
источник

IM

Ivan Medvedev in Kotlin JVM
На vps средненьком
источник

ТБ

Тимур Бухараев in Kotlin JVM
ну это старый подход
в котлине асинхронность в язык встроена, поэтому конечно лучше её использовать
источник

AE

Alexandr Emelyanov in Kotlin JVM
Тимур Бухараев
ну это старый подход
в котлине асинхронность в язык встроена, поэтому конечно лучше её использовать
лол
источник

ТБ

Тимур Бухараев in Kotlin JVM
потом если нагрузка большая и много одновременных запросов идет
то просто пул потоков может переполниться
источник

SZ

Sergey Zolotov in Kotlin JVM
Ivan Medvedev
Дак юзать пул соединений, создавать новые то зачем?
в идеале вообще сделать свой DB диспатчер с макс потоков сколько коннектов в пуле
источник

AE

Alexandr Emelyanov in Kotlin JVM
Тимур Бухараев
ну это старый подход
в котлине асинхронность в язык встроена, поэтому конечно лучше её использовать
>котлине асинхронность в язык встроена
не стоит говорить о корутинах как о встроенной в язык асинхронности
источник

ТБ

Тимур Бухараев in Kotlin JVM
Alexandr Emelyanov
>котлине асинхронность в язык встроена
не стоит говорить о корутинах как о встроенной в язык асинхронности
это именно она и есть
источник

AE

Alexandr Emelyanov in Kotlin JVM
считайте как хотите)
источник

VP

Vladimir Petrakovich in Kotlin JVM
Тимур Бухараев
потом если нагрузка большая и много одновременных запросов идет
то просто пул потоков может переполниться
Ну так потоков не надо больше чем БД тянет одновременных соединений
источник

AE

Alexandr Emelyanov in Kotlin JVM
Vladimir Petrakovich
Ну так потоков не надо больше чем БД тянет одновременных соединений
ну например постгрес потянет 100, будем держать пул потоков на 100 тредов?
источник

VP

Vladimir Petrakovich in Kotlin JVM
Alexandr Emelyanov
ну например постгрес потянет 100, будем держать пул потоков на 100 тредов?
Если у вас такая нагрузка, что нужно 100 параллельных соединений - почему бы и нет?
Да, много памяти в пустую + переключения контекста. Но настолько ли это критично?
источник

AE

Alexandr Emelyanov in Kotlin JVM
Vladimir Petrakovich
Если у вас такая нагрузка, что нужно 100 параллельных соединений - почему бы и нет?
Да, много памяти в пустую + переключения контекста. Но настолько ли это критично?
охладите меня. тред вставший в ожидание сокета не заберет системный поток выполнения?
источник