From the FAQ: <a href="http://postrank-labs.github.com/goliath/doc/index.html" rel="nofollow">http://postrank-labs.github.com/goliath/doc/index.html</a><p><pre><code> How do I deploy Goliath in production?
</code></pre>
* We recommend deploying Goliath behind a reverse proxy such as HAProxy, Nginx or equivalent. Using one of the above, you can easily run multiple instances of the same application and load balance between then within the reverse proxy.<p>I am still wondering about how Goliath fits into both deployment architecture and application development. Traditionally these 2 have always been separated out.<p>* Thread safety. It is explicitly mentioned that middleware used must be thread safe. Doesn't this hold for all code?<p>* Can Goliath use multiple cores, or does one instance need to be spun up for each core?<p>* does it make sense to say, server a Sinatra app from Goliath?
Just wanted to thank Ilya for em-synchrony, em-mysqlplus, em-http-request, goliath, and other gems that help to make developing evented ruby applications much easier.
Very timely release: I'm creating facade to other http API. Something like the sample in the article. I faced problem with slow responses from other party so I need to move to async request handling.
Would you compare Goliath to EM HttpServer or other options?
I'm still not convinced that Fiber-related gymnastics are massively superior to callback-related gymnastics, especially if you ever have to debug the magic under the hood (which I inevitably end up doing).<p>Can someone enlighten me?