[Seaside] [ANN] mod_cluster for Seaside

Sven Van Caekenberghe sven at beta9.be
Wed Oct 6 10:33:29 UTC 2010


This is (again) great work, Philippe.
Thanks for sharing this with us all.
It is really good to know there are options when the need for scaling comes knocking at the door.
Is any of this in real world production use ?

Sven

On 05 Oct 2010, at 17:00, Philippe Marschall wrote:

> Hi
> 
> Have you ever wished Apache and Seaside would know each other better?
> That Apache could tell Seaside where it was and vice versa? That
> Seaside could tell Apache the load of the image so intelligent load
> balancing decisions can be made? That you can dynamically add and
> remove Seaside images from a cluster without restarting Apache or
> messing with configuration files? The guys at JBoss though the same
> and wrote mod_cluster [1].
> 
> How does this actually work? There are two Apache modules involved.
> mod_advertise sends UDP broadcasts about Apache's location, you might
> have several on different hosts in the network. mod_cluster_manager
> allows remote configuration of Apache. Seaside will connect to the
> advertised Apache instances and tell them where it is (host, port,
> protocol, urls). This is kind of schizophrenic because the backend
> makes a request to the frontend but anyway.
> 
> What do you need to get started? First you need to set up the
> Smalltalk parts (not the Apache config) of mod_proxy_balancer [2]. If
> you're just using a single image mod_cluster is overkill and
> clustering without sticky session doesn't get you very far (unless
> you're on GemStone). Then you need to setup mod_cluster itself, the
> easiest way is to grab the binaries from JBoss [3] and follow the
> installation instructions [4]. And finally you need to load ModCluster
> from [5]. You start the magic with:
> 
> JBPharoAdvertiseListener startOnHost: 'yourIp' jvmRoute: 'yourRoute'
> 
> I should note the code is in the state "barely works on my machine",
> there are likely a ton of bugs left.
> 
> Here's some of the limitations I'm aware of:
> - does not work on Mac due to UDP network stack problems
> - host address has to be hardcoded because there's no way of finding
> it out on Pharo on Unix
> - has never been run under Windows
> - not yet split into different packages, you always get the tests and
> the Pharo implementation
> - no Metacello configuration yet
> - the load is always reported as 100%
> 
> [1] http://www.jboss.org/mod_cluster
> [2] http://book.seaside.st/book/advanced/deployment/deployment-apache/mod-proxy-balancer
> [3] http://www.jboss.org/mod_cluster/downloads/1-1-0.html
> [4] http://docs.jboss.org/mod_cluster/1.1.0/html/Quick_Start_Guide.html#d0e264
> [5] http://www.squeaksource.com/ajp
> 
> Cheers
> Philippe
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside



More information about the seaside mailing list