Servoy Application Server instances that are part of a Servoy Cluster share the same Servoy Repository, databases and databroadcasting mechanism. The Servoy Application server is also aware of the clients connected to the other servoy Application servers in the cluster. This means the following:
Import of solutions into a Servoy Application Server connected to the Servoy Cluster will broadcast to all connected Servoy Application Servers. When using the pre- and post import hooks ic.w. the Maintenance plugin, all operations performed by the Maintenance plugin will operate on the entire cluster.
Databases & Databroadcasting
All the Servoy Application Servers in the cluster need to connect to the same set of databases. Although the connection settings might differ, the physical database to which a Database Server connects needs to be the same, otherwise the databroadcasting mechanism will work incorrectly.
The following things need to be taken into account when operating Servoy Application servers within a Servoy Cluster:
Server plugins live on the server side. Each Servoy Application Server in the cluster will create and use an instance of the plugin. Unless specifically build to operate within a Servoy Cluster (cluster-aware), the plugin will only interact with it's Servoy Application server. Depending on what the plugin does this might be ok or not.
When using 3rd party plugins, check with the vendor if the plugins support operating in a Servoy Cluster.
A Servoy Application Server stores all of it's settings in the serrvoy.properties file in <servoy>/application_server. When running inside a Servoy Cluster, each Servoy Application Server instance still has it's own servoy.properties file.
Except for the useAjax setting on solutions and solutions itself, changes to the configuration of a Servoy Application Server instance are not broadcasted to the other Servoy Application Servers in the cluster. This means that configuration changes need to be applied to all Servoy Application Servers in the cluster manually.
- Client licenses: the same Client License key needs to be installed on every Servoy Application Server. It will work as if the cluster uses this license, allowing a number of clients to be connected per cluster, not per Servoy Application Server.
- CPU licenses: each Servoy Application Server requires it's own CPU License key
The following folders of the Servoy Application Server installation should be synced between all Servoy Application Server instances that are part of the cluster: