# \[ANN\] Ebb 0.1.0

**URL:** <https://www.ruby-forum.com/t/ann-ebb-0-1-0/197060>\
**Category:** Deployment\
**Created:** [March 18, 2008, 12:08pm UTC](https://www.ruby-forum.com/t/ann-ebb-0-1-0/197060 "2008-03-18T12:08:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![casper\_the\_ghost](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/58956e/32.png) [@casper\_the\_ghost](https://www.ruby-forum.com/u/casper_the_ghost)\
**Post date:** [March 18, 2008, 12:08pm UTC](https://www.ruby-forum.com/t/ann-ebb-0-1-0/197060/1 "2008-03-18T12:08:18Z")

</div>

Hello Ruby People!

Ebb aims to be a small and fast web server specifically for hosting  
dynamic web applications. It is not meant to be a full featured web  
server like Lighttpd, Apache, or Nginx. Rather it should be used in  
multiplicity behind a load balancer and a front-end server. It is not  
meant to serve static files in production.

At one level Ebb is a minimalist C library that ties together the  
Mongrel state machine and libev event loop. One can use this library  
to drive a web application written in C. (Perhaps for embedded  
devices?) However, most people will be interested in the binding of  
this library to the Ruby programming language. The binding provides a  
Rack server interface that allows it to host Rails, Merb, or other  
frameworks.

The Ruby binding is available as a Ruby Gem. It can be install by  
executing

gem install ebb

Ebb depends on glib2. If one is using Darwin Ports then the following  
should install it: port install glib2.

There are many changes and bug fixes since the last release:

- Can now stream responses
- Supports threaded requests now. Previously it could only process  
requests in a sequential manor. If a certain request took very long to  
process (say 10 seconds) the entire Ebb instance would hang. Now Ebb  
can spawn a new thread for each request to avoid this problem. (Rails  
cannot handle threaded requests, so it is disabled for ebb\_rails  
however Merb users will enjoy this feature.)
- Better memory usage. Previously Ebb was allocating all of it’s  
memory statically at start up. Now it allocates on demand.
- API changes - most notably the Ebb::Server class has been removed.  
The server is started with Ebb.start\_server() now.

I’ve started a mailing list for questions and patches  
[http://groups.google.com/group/ebbebb](http://groups.google.com/group/ebbebb)  
and moved the official repository to GitHub  
[http://github.com/ry/ebb/tree/master](http://github.com/ry/ebb/tree/master).  
Additional information about Ebb can be found at  
[http://ebb.rubyforge.org/](http://ebb.rubyforge.org/)

If you try out Ebb please send me an email about your experiences 🙂

Thanks, ry
