<br><br><div class="gmail_quote">On Tue, Apr 29, 2008 at 9:16 AM, Richard Eng &lt;<a href="mailto:richard.eng@rogers.com">richard.eng@rogers.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Just out of curiosity, if I should need to scale my Seaside app beyond my one Linux box, exactly how do I do that?<br>
<br>
I am currently using Apache to load-balance over several Squeak VMs:<br>
<br>
&lt;Proxy balancer://seaside_cluster&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9090/seaside/go" target="_blank">http://localhost:9090/seaside/go</a> &nbsp;route=GSN9090<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9091/seaside/go" target="_blank">http://localhost:9091/seaside/go</a> &nbsp;route=GSN9091<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9092/seaside/go" target="_blank">http://localhost:9092/seaside/go</a> &nbsp;route=GSN9092<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9093/seaside/go" target="_blank">http://localhost:9093/seaside/go</a> &nbsp;route=GSN9093<br>
 &nbsp; &nbsp; &nbsp; &nbsp;...<br>
<br>
Do I add a second Linux box that runs additional Squeak VMs (but does not run Apache)? Say, the second Linux box is at IP <a href="http://192.168.1.110" target="_blank">192.168.1.110</a>. Then do I edit the above to:<br>

<br>
&lt;Proxy balancer://seaside_cluster&gt;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9090/seaside/go" target="_blank">http://localhost:9090/seaside/go</a> &nbsp;route=GSN9090<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9091/seaside/go" target="_blank">http://localhost:9091/seaside/go</a> &nbsp;route=GSN9091<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9092/seaside/go" target="_blank">http://localhost:9092/seaside/go</a> &nbsp;route=GSN9092<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://localhost:9093/seaside/go" target="_blank">http://localhost:9093/seaside/go</a> &nbsp;route=GSN9093<br>
 &nbsp; &nbsp; &nbsp; &nbsp;...<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://192.168.1.110:9200/seaside/go" target="_blank">http://192.168.1.110:9200/seaside/go</a> &nbsp;route=GSN9200<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://192.168.1.110:9201/seaside/go" target="_blank">http://192.168.1.110:9201/seaside/go</a> &nbsp;route=GSN9201<br>
 &nbsp; &nbsp; &nbsp; &nbsp;BalancerMember &nbsp;<a href="http://192.168.1.110:9202/seaside/go" target="_blank">http://192.168.1.110:9202/seaside/go</a> &nbsp;route=GSN9202<br>
 &nbsp; &nbsp; &nbsp; &nbsp;...<br>
?<br>
<br>
Is it really that simple and straightforward?<br>
</blockquote><div>Yes it is. What is more, you can setup a net like this:<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>(Internet) --&gt; (dedicated proxy/balancer or hardware proxy/balancer) --&gt; (a lot of boxes running a lot of images of your app)<br>
<br>This way you can push all your static content to the dedicated proxy so it can be cached in memory for faster serving. Also,<br>you can put your certificate in this box so all the content is served to the internet encrypted.<br>
The lot of boxes are just normal servers without certificates or static content, just your simple and plain app. All the cpu cycles<br>available for your app.<br><br>Also, you can add/remove nodes in the farm of servers with the image, for example for adding or removing capacity (also it can be Amazon EC2 images added/removed on demand) and just configure your proxy (although most proxys/load balancers detect nodes lost and automatically avoid sending more sessions to them.<br>
<br>Also, have in mind that you need a sticky session capable load balancer. You need this as the callbacks live in the image and are not<br>capable of migrate to new servers, so the same session has to be routed to the same server where it was created.<br>
<br>Miguel Cobá<br>&nbsp;<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Thanks,<br>
Richard<br>
_______________________________________________<br>
seaside mailing list<br>
<a href="mailto:seaside@lists.squeakfoundation.org" target="_blank">seaside@lists.squeakfoundation.org</a><br>
<a href="http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside" target="_blank">http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside</a><br>
</blockquote></div><br>