там сначала наполняется очередь, а потом разгребаются результаты, конечно - это палец, высосанный из примера, и реальные кейсы могут немного отличаться по эндпоинту поступления задач и по характеру агрегации результата. И, конечно, там есть минусы и они сразу после куска кода подписаны :)
Если наш канал 1 Гбит и мы поставим на загрузку одновременно 10к задач в 10к потоков - то сначала мы задушим свой же CPU, RAM и сеть т.к. забьем память бесполезными тредами с высокими IO и будем загружать со средней скоростью в <100 кбит. А если больше 60к потоков будет - то еще и порты на хост машине забьем. Какие сотни тысяч потоков?
Кстати, бот является вполне себе опен-сорсным проектом на Kotlin со всеми исходниками на гитхабе. Так что если кто-то искал несложный проект для того чтоб на чем-то потренироваться — то ссылку на репозиторий можно найти в самом боте.
там сначала наполняется очередь, а потом разгребаются результаты, конечно - это палец, высосанный из примера, и реальные кейсы могут немного отличаться по эндпоинту поступления задач и по характеру агрегации результата. И, конечно, там есть минусы и они сразу после куска кода подписаны :)
Если наш канал 1 Гбит и мы поставим на загрузку одновременно 10к задач в 10к потоков - то сначала мы задушим свой же CPU, RAM и сеть т.к. забьем память бесполезными тредами с высокими IO и будем загружать со средней скоростью в <100 кбит. А если больше 60к потоков будет - то еще и порты на хост машине забьем. Какие сотни тысяч потоков?