Note: The following information about running a clustered environment relates to Generic and Specific Assess Services only
It is very easy to increase the capability of the Determinations Server through clustering. In this case, clustering is a group of servers, providing the same Determinations Server service. Typically a cluster sits behind a router (either hardware or software) and passes requests to different servers in the cluster based on the idea of spreading the requests across all the servers the provide a large capacity for requests. This can be a very effective strategy for providing a high performance and high reliability service.
The Determinations Server operates stateless transactions. When it processes an operation, that operation is completed, leaving the Determinations Server in the same state as when it started. Because there is no state held between Determinations Server operations, it makes no difference which server in a cluster of Determinations Servers a particular client request uses.
Different Determinations Servers in the cluster do not need to communicate with each other, and there is no need for them to share session information, as no session information is kept between transactions. It is important to ensure that the rulebases are the same on each Determinations Server to ensure consistency between servers.
Clustering is done at the application server or server level. Most application servers have built in clustering.
Note that the Interview Service is stateful in order to run in a clustered environment, it requires an affinity based solution such as using "sticky sessions" on a load balancer.