Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have no doubt that for what it is this is a well designed piece of software, but, I'm gong to stick my neck out and say that purely for reasons of scalability a web server written in Ruby just doesn't seem like a sensible choice.


Mongrel2 isn't written in Ruby. It's written in C: http://mongrel2.org/doc/tip/docs/manual/book.wiki#x1-110002


In which case I am remiss, although at time if writing it says here http://en.wikipedia.org/wiki/Mongrel_(web_server) "Mongrel is an open-source HTTP library and web server written in Ruby by Zed Shaw.".


Mongrel and Mongrel2 are two very different projects that have very little beyond their name, author and the fact that they both are servers in common. They share no code and have very different designs and goals.


I believe they share some code (http parser)


which is written in Ragel and compiled to a C state machine, if I remember correctly


Well Ragel supports Ruby code output as well (it can generate any of C, C++, Objective-C, D, Java and Ruby). But I'd be surprised if Mongrel used that.


Some people do that. It actually was used in jruby, and I think a couple projects generated the raw ruby rather than the C version. Uhm, I want to say Rubinius?


i don't doubt that, why would ragel generate Ruby code if nobody used it? I just doubt mongrel used ruby ragel-generated code.


Mongrel 1.x is not related to Mongrel2.

Mongrel was written by Zed in Ruby. Mongrel2 is a new project.


Mongrel2 is a rewrite to be a scalable webserver that's language neutral. Think Apache (without all the pain).

/this note is me sharing what I've learned from zed's tweets, I've not played with the software yet, please correct if wrong.


Twitter used to use Mongrel, but replaced it with Unicorn (uh, another Ruby based server :))

http://engineering.twitter.com/2010/03/unicorn-power.html


Unicorn is based on the mongrel source


Well they're using Scala in production now, so if they wanted to use Mongrel2 messaging, they probably can.


They're using it for back end stuff, the front is still Ruby. To my understanding.


Is this a quote from someone else?

Also, "does seem like a sensible choice"?

Apart from that, it's completely written in C and uses language-agnostic ZeroMQ to pass "requests" back to the handler than can be written in any language with a ZeroMQ library (pretty much all of them).


I thought it was mainly C?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: