Ответ 1
API-интерфейс Twitter-потока состоит в том, что он по существу является долговременным запросом, который остается открытым, данные вставляются в него по мере его появления.
Это связано с тем, что серверу придется иметь дело с множеством параллельных открытых HTTP-соединений (по одному на каждого клиента). Многие существующие серверы не справляются с этим, например, механизмы сервлетов Java присваивают один поток для каждого запроса, который может (а) стать довольно дорогим и (б) быстро попадает в нормальный режим максимальных потоков и предотвращает последующие соединения.
Как вы уже догадались, модель Node.js лучше подходит для идеи потокового соединения, чем, скажем, модель сервлета. Оба запроса и ответы отображаются как потоки в Node.js, но не занимают весь поток или процесс, а это означает, что вы можете продолжать толкать данные в поток до тех пор, пока он остается открытым, не связывая чрезмерные ресурсы ( хотя это субъективно). Теоретически у вас может быть много одновременных открытых ответов, связанных с одним процессом, и при необходимости писать только каждому.
Если вы еще не посмотрели на него, может оказаться полезным HTTP-документы для Node.js.
Я также посмотрю техноийский клиент Twitter, чтобы узнать, чем выглядит потребительский интерфейс этого API с помощью Node.js, функция stream() в частности.