JSPirates / podcast

Приблизительно еженедельный подкаст о Node.js, модулях, подходах и т.д.
http://jspirates.com
MIT License
35 stars 3 forks source link

Streams 2 #12

Closed sitnin closed 11 years ago

sitnin commented 11 years ago

Рассказать о новых стримах

glukki commented 11 years ago

Хочу примеров, где использовать потоки стоит, а где напротив бессмысленно или даже вредно :) Например, в нашем одностраничном приложении со всякими таблицами на клиенте, общающемся с сервером через socket.io, может ли быть смысл в организации передачи данных для таблиц через потоки?

sitnin commented 11 years ago

Хороший запрос, спасибо )

dolphin278 commented 11 years ago

@glukki Формально поток имеет смысл использовать тогда, когда ты может обработать поступающие данные мелкими порциями, не дожидаясь завершения всех данных. Второй хороший признак — когда ты сможешь потоки комбинировать между собой встык (собственно, pipe), чтобы добавлять всякие трансформации.

Потоками точно не стоит делать что-то, что работает в парадигме "запрос-ответ", если сам запрос и ответ ты не можешь интерпретировать как поток.

Хороший пример — request/response в http-сервере, плохой — duplex-стрим, в который пишутся запросы к серверу, и который выплевывает ответы через один и тот же экземпляр потока — придется навешивать correlation id, чтобы понимать, на что нам ответили, как разруливать ситуацию, когда поток упал, а мы ждем от него 150 разных ответов, и т.п.

dolphin278 commented 11 years ago

Я думаю, по вторым стримам отдельно еще надо будет поговорить

sitnin commented 11 years ago

Да, вполне можно. Но, после некоторого перерыва =)