I’m pleased to announce the first public release of Goliath v0.9.0.
Goliath is an open source version of the non-blocking (asynchronous)
Ruby web server framework powering PostRank. It is a lightweight
framework designed to meet the following goals: bare metal performance,
Rack API and middleware support, simple configuration, fully
asynchronous processing, and readable and maintainable code (read: no
The framework is powered by an EventMachine reactor, a high-performance
HTTP parser and Ruby 1.9 runtime. One major advantage Goliath has over
other asynchronous frameworks is the fact that by leveraging Ruby
fibers, it can untangle the complicated callback-based code into a
format we are all familiar and comfortable with: linear execution, which
leads to more maintainable and readable code.
While MRI is the recommend platform, Goliath has been tested to run on
JRuby and Rubinius.
Goliath has been in production at PostRank for over a year, serving a
sustained 500 requests/s for internal and external applications. Many of
the Goliath processes have been running for months at a time (read: no
memory leaks) and have served hundreds of gigabytes of data without
restarts. To scale up and provide failover and redundancy, our
individual Goliath servers at PostRank are usually deployed behind a
reverse proxy (such as HAProxy).
More information can be found in the README and in the following posts: