Hacker News new | comments | show | ask | jobs | submit login

I like the idea of a language agnostic application server, but I'm not sold on this design yet.

Your language still must efficiently implement some protocol to talk to Mongrel2, whether that's HTTP, 0mq, or some custom binary protocol, right?

I'd like a simple, efficient, scalable HTTP server written in C (or C++ I suppose) that I can write multiple language bindings for. Is this feasible? Is there anything like that out there?

Hasn't Apache proved itself to be able to scale to large workloads when configured well? Doesn't it have modules to support many different languages? It's it nice and fast and written in C or C++?

I guess the problem is that Apache does everything, and the price for that is that it isn't very streamlined.

I may be totally off base because I really don't know that much about non-Apache web servers. Please explain how these new generalized web servers like Mongrel2 would provide a significant advantage over existing web servers like Apache.

Yeah, Apache is too heavyweight. I want the server embedded in a language-specific module, not the other way around (an Apache module for the specific language). Something like Mongrel or Unicorn, but written entirely in C, except for language-specific bindings.

I should be able to just execute "server.run(application, port)" or whatever, not have to dive into Apache configuration files. Even with Mongrel2 you need to start multiple processes to get anything working.

Yep, Apache is great at doing everything sort of alright.

Well, it doesn't get much simpler than JSON over 0mq. I think Mongrel2 will actually have to include some turing complete language since there's no way I could anticipate what people will want to modify with it. If there's one thing I know, it's that companies do the craziest stupid crap with their architectures.

As a side note, the current design is definitely POC level, so keep tracking it and if it goes off in a stupid direction let me know.

You could do worse than Lua if you're going that route - it's small, clean, and fast, designed for embedding and you can move smoothly from simple config files to complex scripted behaviour.

Then it truly could be self hosting.

  I'd like a simple, efficient, scalable HTTP server written in C ...
Check out libebb - http://tinyclouds.org/libebb/. It was created by Ryah Dahl (node.js fame) and is a solid piece of software. We used it in our WebROaR server for ruby web applications.

Sidenote: libebb's Ragel based parser is derived from Mongrel.

That is great. I'd never heard of libebb before but have a couple of things I can already use this for. Thanks for sharing.

Mongrel is GPL, more or less. libebb claims to be X11 licensed. How is this possible?

Ruby Mongrel is both GPL or Ruby licensed, mostly to keep Debian happy.

Mongrel2 however is AGPL.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | DMCA | Apply to YC | Contact