If you could only name one, then it would be that Mongrel2 would be built around ZeroMQ , which means that scaling your web server has never been so easy.
If the request arrives, Mongrel2 receives it (nothing unusual here, like for NginX and any other httpd). The next thing that happens is that Mongrel2 distributes the task of compiling the response to n (ZeroMQ-enabled) backends, waiting for them to complete the work, get the results, compile the response and send it to the client.
Now the magic is that n can be any number and that each of n can be written in any language supported by ZeroMQ (about 20 or so), plus everything goes on the network, so that every n can be a dedicated block, maybe , in another data center.
In other words: with NginX and everything else you need to do scalability at your logical level, Mongrel2 allows you to start (from the point of view of the request / response cycle) this right, where the request gets into your infrastructure, on httpd instead of allowing complexity to go down to your logic level, which resets complexity up by at least one order of magnitude imo.
Tom May 26 '11 at 9:21 a.m. 2011-05-26 09:21
source share