This topic described how to configure TrackStudio to be launched on several application servers grouped into a cluster.
For the sake of better scalability and stability TrackStudio can be launched on several application servers grouped into a cluster. Load balancing makes it possible to distribute the load between servers in the cluster. A failover cluster is a set of servers that are configured so that if one server becomes unavailable, another server automatically takes over for the failed server and continues processing.
TrackStudio uses cache for data processing. The cache stores the information about tasks and users that have been accessed and contains the results of database queries. When TrackStudio works within an application server cluster, it is important to synchronize the caches between cluster nodes. Once any object in the cache is changed, TrackStudio sends out notifications to TrackStudio instances running on other cluster nodes. Those notifications are used to clear the changed objects from their caches.
To configure a TrackStudio cluster:
1. Install TrackStudio on all cluster nodes. As TrackStudio uses broadcast messages to send notifications, the cluster nodes must be within one physical network. All instances must use the same version of TrackStudio Enterprise.
2. Edit the trackstudio.properties files on both nodes. Set trackstudio.cluster to yes and specify the same trackstudio.cluster.name for all cluster nodes.
3. Specify a directory for storing uploaded files: trackstudio.uploadDir. Both instances must use the same directory in which to store uploads. You can use shared disk in Windows or NFS in UNIX.
4. Specify a directory in which to store the full text search index: trackstudio.indexDir. Each instance must have a local copy of indexDir.
5. Configure database connections. Both instances must use the same database.
6. Configure the rest of the settings and launch TrackStudio on all cluster nodes. While loading, TrackStudio displays messages about active nodes in the cluster. For instance, if there are 2 instances on the cluster (both are running on one server), the display will be as follows:
------------------------------------------------------- GMS: address is TMK-12X3:4390 ------------------------------------------------------- [18:38:19.93] ... finished starting new JavaGroups Communicator. [18:38:19.98] A host has joined the cache notification bus: TMK-12X3:4383 [18:38:19.98] A host has joined the cache notification bus: TMK-12X3:4390