Horizontal scaling implementation

In a horizontal scaling implementation you maximize the number of client connections supported across multiple hosts.

The key features of this implementation are:

  • The Service Manager system consists of multiple Service Manager servlet container processes running on separate physical hosts
  • The implementation allows administrators to specify a system connection limit
  • The Service Manager system can manage a number of concurrent client connections up to the number of servlet container processes times the threads per process value (For example, 6 servlet container processes supporting 50 threads per process can support up to 300 client connections)
  • The implementation allows administrators to specify the communication ports the system uses
  • A dedicated load balancer process manages and routes client connections to available servlet container processes
  • Administrators can dynamically add and remove Service Manager instances from a virtual group

Note Service Manager does not support automatic switching between two hosts.

A horizontal scaling implementation is typically used in large 24 by 7 environments where system scalability and resilience is a concern. A horizontal scaling implementation can support as many client connections as the sum of the individual Service Manager instances can support (for example, if each instance can support 50 client connections and there are 6 instances then the total system can support 300 client connections). A horizontal scaling implementation has improved resilience features such as the ability to stop and start the load balancer process without causing a total system outage and the ability to add a new servlet container process to a virtual group while the system is running.

Each host in a horizontal scaling implementation can also support a vertical scaling implementation with the addition of the appropriate servlet implementation parameters. This allows each Service Manager host to support multiple servlet container processes and to make the best use of the available system resources.

Note: There can be only one kmupdate process running at any time regardless of the number of hosts. Starting more than one kmupdate process causes unpredictable behavior on the search engine server.

Related topics

Example: Setting up a horizontal scaling implementation
Server implementation options
Startup options for servlet container processes

Related topics

Horizontal scaling implementation diagram
Configuring a horizontal scaling environment