<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: dogproxy</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/dogproxy.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2010-02-03T13:05:08+00:00</updated><author><name>Simon Willison</name></author><entry><title>dogproxy</title><link href="https://simonwillison.net/2010/Feb/3/dogproxy/#atom-tag" rel="alternate"/><published>2010-02-03T13:05:08+00:00</published><updated>2010-02-03T13:05:08+00:00</updated><id>https://simonwillison.net/2010/Feb/3/dogproxy/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://github.com/simonw/dogproxy"&gt;dogproxy&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Another of my experiments with Node.js—this is a very simple HTTP proxy which addresses the dog pile effect (also known as the thundering herd) by watching out for multiple requests for a URL that is currently “in flight” and bundling them together.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/dogpile"&gt;dogpile&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dogproxy"&gt;dogproxy&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/nodejs"&gt;nodejs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/projects"&gt;projects&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/thunderingherd"&gt;thunderingherd&lt;/a&gt;&lt;/p&gt;



</summary><category term="dogpile"/><category term="dogproxy"/><category term="javascript"/><category term="nodejs"/><category term="projects"/><category term="scaling"/><category term="thunderingherd"/></entry></feed>