Servlet implementation options

The Service Manager server supports the following types of servlet implementation options. You may combine these implementation options with other Service Manager options to create your own system implementation.

  • Single servlet implementation – a single host running a single servlet container implementation
  • Vertical scaling implementation – a single host running multiple servlet containers implementation
  • Horizontal scaling implementation – multiple hosts running multiple servlet containers implementation

A single servlet implementation does not require a load balancer process. Clients send connection requests directly to the HTTP communications port of the servlet container process. The servlet container's HTTP port becomes the single well-known communications port for the Service Manager system. All clients send connection requests to this one communications port. The servlet container process routes each connection request to an available thread in the process. When the number of client connections reaches the number of available threads the system has reached capacity, and the servlet container refuses any additional client connection requests. Each servlet container process can manage approximately one hundred and fifty client connections (as determined by the Service Manager host's memory requirements). Implementers can use the threadsperprocess parameter to set the total number of client connections the servlet container process manages.

A vertical scaling implementation requires a load balancer process to route client connection requests to an available servlet container process. Clients send connection requests to the HTTP communications port of the load balancer process. The load balancer's HTTP port becomes the single well-known communications port for the Service Manager system. All clients send connection requests to this one communications port. The load balancer process transparently routes client connection requests to any available servlet container processes on the local host. The end-user never sees the change in the communications port number from the load balancer process to the servlet container process. When the number of client connections reaches the total number of available threads on all servlet container processes the system has reached capacity, and the load balancer refuses any additional client connection requests. Implementers must use the threadsperprocess parameter to set the total number of client connections each servlet container process manages.

A horizontal scaling implementation requires a load balancer process to route client connection requests to servlet containers on multiple hosts. Clients send connection requests to the HTTP communications port of the load balancer process. The load balancer's HTTP port becomes the single well-known communications port for the Service Manager system. All clients send connection requests to this one communications port. The load balancer process routes client connection requests to any available servlet container process in the group. When the number of client connections reaches the total number of available threads on all servlet containers on all available hosts in the virtual group, the system has reached capacity, and the load balancer refuses any additional client connection requests. Implementers must use the threadsperprocess parameter to set the total number of client connections each servlet container process manages. Implementers must also set the group parameters and ensure there is a valid network connection among the group members.

Related topics

Horizontal scaling implementation
Servlet implementation
Servlet implementation processes
Single servlet implementation
Vertical scaling and required SSL implementation
Vertical scaling implementation