[Seaside] Scaling Seaside

Miguel Cobá m.coba.m at gmail.com
Tue Apr 29 23:36:27 UTC 2008


On Tue, Apr 29, 2008 at 9:16 AM, Richard Eng <richard.eng at rogers.com> wrote:

> Just out of curiosity, if I should need to scale my Seaside app beyond my
> one Linux box, exactly how do I do that?
>
> I am currently using Apache to load-balance over several Squeak VMs:
>
> <Proxy balancer://seaside_cluster>
>        BalancerMember  http://localhost:9090/seaside/go  route=GSN9090
>        BalancerMember  http://localhost:9091/seaside/go  route=GSN9091
>        BalancerMember  http://localhost:9092/seaside/go  route=GSN9092
>        BalancerMember  http://localhost:9093/seaside/go  route=GSN9093
>        ...
>
> 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 192.168.1.110. Then do I
> edit the above to:
>
> <Proxy balancer://seaside_cluster>
>        BalancerMember  http://localhost:9090/seaside/go  route=GSN9090
>        BalancerMember  http://localhost:9091/seaside/go  route=GSN9091
>        BalancerMember  http://localhost:9092/seaside/go  route=GSN9092
>        BalancerMember  http://localhost:9093/seaside/go  route=GSN9093
>        ...
>        BalancerMember  http://192.168.1.110:9200/seaside/go  route=GSN9200
>        BalancerMember  http://192.168.1.110:9201/seaside/go  route=GSN9201
>        BalancerMember  http://192.168.1.110:9202/seaside/go  route=GSN9202
>        ...
> ?
>
> Is it really that simple and straightforward?
>
Yes it is. What is more, you can setup a net like this:


(Internet) --> (dedicated proxy/balancer or hardware proxy/balancer) --> (a
lot of boxes running a lot of images of your app)

This way you can push all your static content to the dedicated proxy so it
can be cached in memory for faster serving. Also,
you can put your certificate in this box so all the content is served to the
internet encrypted.
The lot of boxes are just normal servers without certificates or static
content, just your simple and plain app. All the cpu cycles
available for your app.

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.

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
capable of migrate to new servers, so the same session has to be routed to
the same server where it was created.

Miguel Cobá


>
> Thanks,
> Richard
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20080429/0de7a6a4/attachment.htm


More information about the seaside mailing list