А я бы обсудил реальные кейсы. Потому что в моих приложениях как не выкручивайся все равно есть потоки которые ждут базу и остальные их ждут. Так что где это применимо не пойму.
Извините, что не про Телеграм.
Вот тоже недопонимаю хайпа вокруг "асинхронности". Пользователь (а большинство систем всё-таки работают с пользователями) ждёт ответа на свой запрос сейчас, а не "когда-нибудь потом". Ответ - это в 90% случаях что-то из БД (или нескольких БД), иногда присыпанное данными из каких-нибудь кэшей. Зачем тогда все эти пляски с очередями и т.п.? Если бы сообщения пользователей можно было бы выкидывать, не обрабатывая - то ок, понятно. А если всё равно нужен "синхронный" ответ на запрос - зачем тут асинхронность вообще? Есть ли какие идеологические документы, желательно не больше чем на пару страниц текста, разъясняющие подобные вопросы?