ArcGIS Server sites with two or more ArcGIS Server machines can take advantage of clusters for specific deployment-use cases. A cluster is a group of ArcGIS Server machines that has been configured to run a dedicated subset of services. In the following diagram, Cluster A could potentially be configured to run map services, while Cluster B (with higher processing power) could be configured to run geoprocessing services:
Some server operations, such as batch geocoding, are very CPU intensive. Clustering your servers for this type of operation may help free up other machines in your site so your remaining services can still perform optimally.
Clustering is also useful when you have disparate hardware resources. For example, an older or slower server could be placed in its own cluster to perform lower-priority jobs.
In a multiple-machine site, all ArcGIS Server machines initially belong to a single cluster using ports 4004 and above. As of 10.4, ArcGIS Server defaults to single cluster mode for new installations. This mode does not include load balancing between machines in the cluster. This reduces network traffic between machines in the site, reduces load on your network, and helps improve monitoring of ArcGIS Servers in your site. When upgrading to 10.4, the mode will be enabled for sites with a single cluster that are not currently using single cluster mode. Single cluster sites already using single cluster mode and sites with multiple clusters at earlier releases will have their settings preserved when upgrading.
If your site uses more than one cluster, load-balancing is handled among all ArcGIS Server machines within each cluster. Essentially, clusters are independent groups of ArcGIS Servers that run dedicated sets of services.
For example, an incoming request is assigned to an available ArcGIS Server in the cluster, even if the request was directed to a specific machine within or outside of the cluster. That ArcGIS Server machine then does the work of drawing the map, finding the address coordinate, running the geoprocessing tool, and so on, and returns the result to the client. If a machine is offline or the service that was requested is running in a different cluster, the request is forwarded to the cluster containing the service. The ArcGIS Server machines in that cluster load-balance and process the request accordingly.
- Integrates with your organization's network load-balancer (NLB) and web server through ArcGIS Web Adaptor.
- More secure as administrative URLs to the site can be blocked with ArcGIS Web Adaptor.
- Load-balancing is handled at NLB and among ArcGIS Servers.
- Single sign-on (SSO) can be set up using web-tier authentication on the web server hosting ArcGIS Web Adaptor.
- ArcGIS Server machines can be configured to run dedicated subsets of services.
- Administrators need to install, set up, and maintain multiple ArcGIS Server machines.
- Not ideal for hosting cached map and image services, because the cache is on a shared network directory or duplicated on each machine.
- A cluster can be a single point of failure if it's configured to run on a single ArcGIS Server. If the machine goes offline, the services running on the cluster will be unavailable.
- Depending on the number of machines within a site and within a cluster, network bandwidth, and shared network drive performance (where the configuration store and other server directories may be located), this architecture is subject to scalability restrictions. It's recommended that you create single cluster sites (which can have multiple machines) whenever possible.
A multiple-machine site with clusters is subject to scalability restrictions, introduces challenges in isolating issues and troubleshooting, and increases overall network communication. As mentioned above, it's recommended that you create single cluster sites (which can have multiple machines) whenever possible.