The Load Balancer
You can use load balancing if the capacity limit for a single standalone Search and Matching Server is reached so that search requests can no longer be responded to in an efficient way. Load balancing makes it possible to use several computers to share computational workload and to distribute the search requests to a set of different Search and Matching Servers. The clients using the Load Balancer access it as if it was a simple Kofax Search and Matching Server with the same interface. The Load Balancer is totally transparent to them. The Load Balancer runs on a classic Microsoft Windows service.
The Load Balancer handles a cluster of several Search and Matching Servers that are defined via the Kofax Search and Matching Server Administration. In the first step you define which Search and Matching Servers form the load balancing cluster and in the second step you set up the databases..
A standalone server that is added to a cluster becomes a cluster node and any search requests are then forwarded through the Load Balancer. To minimize the configuration and maintenance effort a cluster always consists of a "primary node" and one or more "secondary" nodes. The databases are defined and configured in the Load Balancer. The selected Load Balancer will push the creation and import of the databases to the primary node. When the primary node is ready, it synchronizes the database automatically to the secondary nodes. This way, if you have a relational database, only the primary node will access to it, and it will prepare the fuzzy index for the secondary nodes. By default, the first server that is added to a cluster is the primary node. If you add more servers to the cluster they become secondary nodes. All existing databases defined on a server are deleted when a Search and Matching Server is added to the cluster as a secondary node. The databases on the secondary node are synchronized automatically from the primary node. If you connect to a secondary node via the Administration tool the menu items that are used to configure databases are not available. If needed, for example as a fallback when the Load Balancer is no longer accessible, you can convert a secondary node to become a standalone server again and configure it or access to it normally. A cluster node that is converted to a standalone server is automatically removed from the cluster.
A Search and Matching Server can be either a standalone server or a member of one single cluster.
If you delete the primary node from the cluster you have to select another server (secondary node) from the list of cluster nodes to become the primary node. If for any reason no primary node is defined in the cluster, then database configuration is not possible, and the automatic update feature from the databases is skipped. If you add a server that is already member of a different cluster, this server is automatically removed from the other cluster. As a kind of fall back you can convert any cluster node to a standalone server.
An optimal size of a load balancing cluster consists of 2 to 16 cluster nodes.

On the client side you configure a remote fuzzy database on a standalone Search and Matching Server in the same way as one from a Load Balancer by connecting to either the standalone server or the load balancer. For more details see Project Builder Help.
The Load Balancer provides the possibility to handle the search requests from different clients by gathering all search requests from all clients and sending the search requests one after the other to the next available Search and Matching Server in the cluster. This means that each search request is performed by a single Search and Matching Server and not distributed to multiple servers.

In parallel to handling search requests the Load Balancer synchronizes changes from the primary node to all cluster nodes within the cluster. For example, for a newly-created database or an automatic database update. The Load Balancer is fault tolerant in regards to handling search requests or performing synchronization for any cluster node that is temporarily unavailable. As soon as the node is available again it is reincorporated in the cluster for the search. If needed, the node is updated so that the databases get the latest version..
When you set up load balancing you have to consider that the Load Balancer and all cluster nodes need to share the same settings for the security to ensure a granted access. This means that the services have to run as a user that is member of the "KSMS Administrators" user group configured during installation and this user must have read and write permissions to the data storage directory.
For maintenance and security reasons the best practice is to use the Load Balancer in a domain group installation only.
By default, the Load Balancer and Search and Matching Server services are executed for a built-in user account, which is the NETWORK SERVICE user, after the installation.
If the service is running under a user that has a changed password then you need to also update the services account.