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 [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
2010/10/5 Philippe Marschall <[hidden email]>:
> 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 forgot to add you can check the cluster status under: http://apache:6666/mod_cluster_manager Cheers Philippe _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Philippe Marschall
Very cool Philippe. We really need more integration with this kind of
infrastructure... Julian On Tue, Oct 5, 2010 at 4:00 PM, Philippe Marschall <[hidden email]> 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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Philippe Marschall
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 > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Hey Sven,
even if it's young to produce, the effort is valuable. In order to attract investors, you'll need simple ways to scale seaside apps confidently. sebastian On Oct 6, 2010, at 7:33 AM, Sven Van Caekenberghe wrote: > 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 >> [hidden email] >> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside > > _______________________________________________ > seaside mailing list > [hidden email] > http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
In reply to this post by Sven Van Caekenberghe
2010/10/6 Sven Van Caekenberghe <[hidden email]>:
> 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 ? Not yet. Cheers Philippe _______________________________________________ seaside mailing list [hidden email] http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside |
Free forum by Nabble | Edit this page |