Clustering is a server architecture that emulates multiprocessing by connecting two or more computers together in such a way that they behave like a single computer. If clustering is implemented, each server instance is configured with a cluster port, allowing servers to communicate with each other, to be informed whether or not each is active, and may pass "locking tokens". Clustering is used for failover (that is, fault tolerance) and distribution (that is, parallel processing and load balancing).
In failover mode, only one engine processes at a time. If that engine goes down, this failure is detected by the other engines in the ring, and one of them resumes all processing. If that engine goes down, another engine in the ring gets all the processing, forming a chain.
In distributed mode, all the engines are active at once, and they share the work.
The implementation of failover mode or distributed mode requires no further manual tasks to maintain the ring: The engines will do it automatically. Once running, clustering is no harder to maintain than a single engine, but planning is essential.
Many of the tasks associated with clustering, such as editing the configuration file, starting an ASA database, shutting down the engine, restarting the engine, and thread processing are exactly the same for both failover and distribution.
Warning: Do not run Unwired Orchestrator server clusters using file transports.