What is Synchronization ? Synchronization is the process of updating filesystems of remote instances, so that the the instances have the 'right' bits in place. Why is Synchronization needed? Changes meant for remote instances are made via DAS. For example, an application is deployed to a cluster using admin gui. The deployment process installs the bits on DAS. These bits have to be then transferred to instances of the target cluster. This is the process of synchronization. Various situations when synchronization is needed are :
- Deployment
- Undeployment
- Configuration changes - for example changes to domain.xml
- Manual edits - transfer of manual edits can be delayed
Steps:
- Determine what needs to be updated in the remote file system
- Added, updated or deleted
- Determine when the update needs to happen
- Immediately, on instance startup, at any other time
- How does the transfer need to happen
Issues in V2 : V2 does not scale with a large number of clustered instances. A test study is planned to determine what are the basic issues. Current understanding is :
- It takes a long time to do determine what bits need to be transfered. When a server is started, extensive I/O must take place to determine what needs to be synchronized. This can cause severe delays in server startup, if a large cluster is being started.
- When an application is deployed on a running cluster, bits must be transferred to all instances before the deployment process is complete. This can cause a long delay in deployment time.
Technologies :
- JXTA (P2P)
- RSS Feeds : DAS publishes changes to an RSS Feeds. Instances get this feed and apply changes, as necessary
- Maven
|