WebROaR - Ruby Application Server (powered by libebb)

62 views
Skip to first unread message

Aditya Babbar

unread,
Dec 1, 2009, 3:06:33 PM12/1/09
to ebb...@googlegroups.com
Ry,
We recently released WebROaR (http://webroar.in/) - Ruby Application Server under GPLv3 that uses libebb for HTTP parsing. Libebb is one of the key components of this server and a major reason for its good performance. 

On behalf of the team (Dharmarth, Nikunj & myself), i would like to thank you for your excellent work on this library. (I am sure lot of other people would share that sentiment.)

We would keep sending back patches to you upstream if required (as we have done so far).

Aditya

 

Sergey Shepelev

unread,
Dec 2, 2009, 8:18:40 AM12/2/09
to ebb...@googlegroups.com
How does it compare to Unicorn?

Aditya Babbar

unread,
Dec 2, 2009, 10:24:50 AM12/2/09
to ebb...@googlegroups.com
We haven't done a comparison with Unicorn yet. You can refer the other benchmarks we have done so far here:

Sergey Shepelev

unread,
Dec 2, 2009, 10:59:23 AM12/2/09
to ebb...@googlegroups.com
On Wed, Dec 2, 2009 at 6:24 PM, Aditya Babbar <aditya...@webroar.in> wrote:
> We haven't done a comparison with Unicorn yet. You can refer the other
> benchmarks we have done so far here:
> http://webroar.in/blog/2009/11/25/comparison-of-rails-deployment-stacks-2
> Aditya
>

I don't mean benchmarks, i mean architecture.

Jeremy Nicoll

unread,
Dec 2, 2009, 5:03:54 PM12/2/09
to ebb...@googlegroups.com
Just curious, why did you choose to use starling?

Aditya Babbar

unread,
Dec 2, 2009, 11:47:08 AM12/2/09
to ebb...@googlegroups.com
From http://webroar.in/faq

------------------------
WebROaR has a head process that accepts connections, parses the HTTP request, and passes it to the appropriate worker process (that has the corresponding Ruby Web Application code loaded in it). Head and worker are both written in C, and use the terrific libev event loop for all the asynchronous and non-blocking socket communication with each other as well as the clients.

Worker loads up (aka embeds) the Ruby interpreter, the web framework and the application code in it. In case any exception occurs while processing a request or analytics have been enabled for that application, the worker process dispatches a message packet to Starling Message Queue.

WebROaR Analyzer daemon takes its own sweet time to dequeue messages, analyze them and stores the required data to a database.

A nice and simple Admin Panel Rails application running in one of the workers itself helps in easy UI driven deployment. It also shows all the run time numbers stored in the database in a variety of useful views, along with the list of exceptions that occur in the deployed applications.

All the server processes talk to each other (whenever required) using SCGI. 

------------------------

Aditya Babbar

unread,
Jan 15, 2010, 12:42:03 PM1/15/10
to ebb...@googlegroups.com
Jeremy,
It's actually been a while when we went looking around for a suitable message queue. At that time, Starling was the most battle tested one, didn't have any other dependencies like some of the other good ones and was simple enough.

New shinier options have come up on horizon since, and if required we would move to another one. As of now, WebROaR only uses it as an intermediate store for analytics data packets and exceptions before they are processed & stored in the database. So far so good for the applications we have tested on WebROaR. Based on how it goes for other people and their applications, we would take a call on it.

Aditya

p.s. Sorry for this awfully long delay in replying to your query. I did send this on 3rd Dec itself but seems it never made it to the Group. Chanced upon visiting the group from the web again today, and didn't see it.
Reply all
Reply to author
Forward
0 new messages