!sync: асинхронное взаимодействие Архитектуры
Тезисы
Асинхронное взаимодействие: выполняем только полезную работу, остальное - "не наше".
Страшные и непостижимые дебри обратных вызовов: так привычнее (и, на первый взгляд, проще), но это отдает безысходностью.
Сопрограммы (coroutines): "Вы все в "монадку", а мы - в "корутинку".
Странное поведение системы: "Все встало колом? Вам кажется! Оно просто медленно работает".
Я расскажу...
- о том, что общего у планировщика ОС, системных вызовов и асинхронного взаимодействия.
- о том, как принципиально работает асинхронное взаимодействие.
- о том, в условиях асинхронное взаимодействие приносит пользу.
- о том, какие условия являются достаточными для комфортной работы с асинхронным взаимодействием и в чем "профит" от сопрограмм (coroutines).
- о том, как можно "затупить" асинхронный сервер своими дополнениями или встраиваемыми сценариями (nginx, Tarantool).
- о том, что делать, если "кусочек" кода "не хочет" быть асинхронным.
- о том, что может пойти не так, как казалось.
- о том, как я работал с async на Python и как работаю с ним сейчас.
В итоге должно немного "попустить" или "накрыть", но непременно в удовольствие.