March 02, 2010
During the meeting we referred to the following document (which will continuously be updated): V3.1Clustering For GF V3.1 we're planning cluster support without a Node Agent (NA). At the later stage we could consider adding the Node Agent again. Without a Node Agent, it will not be possible to start remote instances. There was an idea to use ssh to replace that functionality from the NA, but this will probably not be done in GFv3.1. One of the main reasons to not including a NA is that people complained about it. Not only because of issues they had and because it turned out not to be as light-weight as it was initially intended to be, but users say they prefer to register their instances with their OS's services functionality (Windows service, etc.). This would give them behaviour they are familiar with, and provide extra functionality, such as setting the maximum number of times an instance should be restarted in case of a failure. Most of the discussion was about the way remote instances should synchronise their files (and state) with the DAS. In GF v2.x, the deploy process runs on the DAS and the remote instances download the post-deployment (including generated) artefacts. In GF v3.1, we want the remote instances to do the operations themselves, so there would be less issues with file synchronization. A potential issue with this approach is when deploying of applications that require a lot of resources for deployment. For instance, JSPs can be precompiled during deployment, and CMP applications access the DB for schema generation. This will need to be investigated further (performance comparison tests, etc.). We can also consider optimizations like doing the deploy per DAS instead of per instance when the cluster's instances are on the same machine, and share the files instead of each instance having its own copy. Someone pointed out that this could create issues when redeploying an application that is already running on a cluster instance. (Classes that are in use would be overwritten). For the file synchronization we would use the files' timestamps. For complete subdirectories, only the subdirectories' filestamps would be compared. Discussion on this topic will be continued next week. |