Advanced Concepts in Ruby on Rails Hosting Part IV
In these past weeks, we have discussed the transition from a standard reverse proxy (represented by a single manager handing documents to be translated to various translators, one at a time as soon as they came in) to a system I call drproxy with clients running on all application servers buffering requests and handing them to instances of the application as soon as they were ready (represented by office managers buffering documents for the translators).
It seems as though we have created a pretty streamlined system during these weeks, but there is still a bottleneck. Most people will never reach the bottleneck, but many people will feel pain around it. That bottleneck is the request server (represented by the manager who hands documents to office managers). The request server is very fast and can take many requests per second without flinching, however it is a single point of failure. If it goes down, nothing gets through. Not only that, but adding a second request server doubles the potential number of incoming requests. In the analogy, if the main manager stays home sick, no documents get translated that day. Drproxy is built to be able to run various request servers very easily, both for load distribution and redundancy.
Drproxy has been built in the crucible, we have been using it at MOG for over a month now, tweaking and making improvements. I am working on bundling the software, which will be open source, and when we release it should be very ready to use out of the box for most Rails websites. Thanks for following this series and I really hope you enjoy drproxy.
You should follow me on twitter here.
Technoblog reader special: click here to get $10 off web hosting by FatCow!

5 Comments:
Would be interesting to see a side-by-side comparison of a drproxy/mongrel based application and the same application served by Apache w/ mod_proxy_balancer and mongrel.
I did a similar comparison of various combinations of FastCGI, SCGI, CGI and mod_proxy_balancer with mongrel_cluster.
http://blog.libraryfind.org/2007/6/11/update-apache-and-lighttpds-and-mongrels-oh-my
I'd love to see how drproxy compares to mod_proxy_balancer.
7:43 PM, July 09, 2007
Is drproxy actually in production use, now?
Have you tested it and produced benchmark results?
7:46 AM, July 27, 2007
How is the project going?
3:51 PM, December 22, 2007
Any status updates on drproxy? I noticed that there is a google code project for it but not releases have been made yet.
4:32 PM, January 14, 2008
Lucas, we are also interested in status of drproxy. We discussed in a phone conversation earlier this year. Should we be aiming at it as an option for a high volume site in the next couple of months?
4:24 PM, January 25, 2008
Post a Comment
<< Home