Servlet implementation processes

All Service Manager servlet implementations use multithreaded processes. To control the client connections to these threads, you can configure the Service Manager server to start one of two types of processes:

  • One or more servlet container processes that accept direct HTTP and HTTPS client connections
  • One load balancer process to be the master thread controller for all servlet container processes in a virtual group

A servlet container process is a Service Manager sm.exe process that includes a multithreaded Java servlet container. Each servlet container process manages a pool of child threads dedicated to handling Service Manager client transactions. The Servlet container process listens for incoming client connection requests on a predetermined HTTP port and routes the requests to an available thread in the process. The thread then binds to the HTTP or HTTPS port of the parent servlet container process for the duration of the client connection. The total number of threads available determine the total number of client connections the servlet container process can manage. Each active thread in the servlet container process holds system locks and communicates this information to other servlet container processes in the same virtual group.

A load balancer process is an Service Manager sm.exe process dedicated to routing incoming client requests to servlet container processes in vertical and horizontal scaling implementations. In either scaling implementation the virtual group only requires one load balancer process. The Load balancer process does not have any child threads of its own, nor does it maintain any system locks or hold system resources. The load balancer listens for incoming client connection requests on a predetermined HTTP port and routes them to an available servlet container. The available servlet container may be on the same physical system or on another system in the same virtual group depending on the implementation.

Property Servlet container process Load balancer process
Routes client connections to servlet container processes? No Yes
Routes client connections to threads? Yes No
Creates child threads? Yes No
Accepts client connections? Yes No
Uses an HTTP port? Yes Yes
Uses an HTTPS port? Yes (optional) No

Related topics

Managing multiple servlet container processes
Servlet implementation
Servlet implementation options

Related topics

Quiesce all servlet container processes in a servlet implementation
Quiesce all servlet container processes on a host
Shut down all servlet container processes in a servlet implementation
Shutdown all servlet container processes on a host

Related topics

Parameter: httpPort
Parameter: httpsPort
Parameter: loadBalancer
Parameter: groupmcastaddress
Parameter: groupname
Parameter: groupport