On Mon, May 7, 2012 at 11:17 PM, Ethan Gruber <[log in to unmask]> wrote:

> It was recently suggested to me that a project I am working on may adopt
> node.js for its architecture (well, be completely re-written for node.js).
> I don't know anything about node.js, and have only heard of it in some
> passing discussions on the list.  I'd like to know if anyone on code4lib
> has experience developing in this platform, and what their thoughts are on
> it, positive or negative.

It's a very interesting project - I think of it as kind of non-preemptive
multitasking framework, very much like POE in the Perl world, but with a
more elegant way of managing the event queue.

Where it could shine is that it accepts streaming, non-blocking HTTP
requests.  So for large PUTs and POSTs, it could be a real win (most other
web-server arrangements are going to require completed uploads of the
request, followed by a hand-off to your framework of an opened file
descriptor to a temporary file).

My naive tests with it a year or so ago gave inconsistent results, though
(sometime the checksums of large PUTs were right, sometimes not).

And of course to scale up, do SSL, etc, you'll really need to put something
like Apache in front of it - then you lose the streaming capability.  (I'd
love to hear I'm wrong here).

-Randy Fischer