<div>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">When you get a request, you pass it on to your backend node (which can<br>be running anything you want, ie Apache or whatever).
<br><br>The backend node that it talks to will talk to mogilefsd, and get the<br>location of the file. You can then do any logic you need in there (ie,<br>access control and the like). Your code on the backend node can then
<br>return X-REPROXY-URL with the mogstored paths that your backend node got<br>out of mogilefsd.<br><br>Your backend node then moves on to something else, and perlbal/mogstored<br>take care of spitting the file out back to the client.
<br><br>By doing this setup, you gain horizontal scalability (You can add more<br>and more nodes, as you need more capacity), as well as a better ability<br>to deal with failure if one of your mogstored server fails (you have all
<br>those files on other nodes).</blockquote></div>
<div>&nbsp;</div>
<div>Ok it&#39;s making sense to me now! Thanks!</div>
<div>&nbsp;</div>
<div>So basically, a request goes something like this:</div>
<div>&nbsp;</div>
<div>client (<a href="http://www.site.com/1.jpg">http://www.site.com/1.jpg</a>) -&gt; Perlbal -&gt; Apache -&gt; Mogilefsd -&gt; Apache (returns with something like serverA:1234.fid) -&gt; Perlbal -&gt; client</div>
<div>&nbsp;</div>
<div>Is that correct?&nbsp; If so, wouldn&#39;t that lead to more load on the Apache, since it would have to dynamically translate <a href="http://www.site.com/1.jpg">http://www.site.com/1.jpg</a> to something Mogilefsd can understand and find in its database?
</div>
<div>&nbsp;</div>
<div>I&#39;m guessing though, that there&#39;s some way for Perlbal to talk directly to Mogilefsd, so that it can completely bypass Apache?</div>
<div>&nbsp;</div>
<div>&nbsp;</div>