Multiple machine deployment with GIS server clusters
In this topic
ArcGIS Server sites with two or more GIS servers can take advantage of clusters for specific deployment use cases. A cluster is a group of GIS servers 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 that 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, load balancing is handled among all GIS server machines in a single cluster using ports 4004 and above. If your site uses a single cluster, all GIS servers in the site will load-balance requests. If your site uses more than one cluster, load-balancing is handled among all GIS servers within each cluster. Essentially, clusters are independent groups of GIS servers that run dedicated sets of services.
For example, an incoming request is assigned to an available GIS server in the cluster, even if the request was directed to a specific machine within or outside of the cluster. That GIS server 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 GIS server machines in that cluster load-balance and process the request accordingly.
In large sites with a single cluster, you can configure the site to remove the load balancing functionality between GIS servers. This reduces network traffic between machines in the site, reduces load on your network, and helps improve monitoring of GIS servers in your site. For full instructions, see Remove load balancing between GIS server machines.
Note:
Regardless of the clusters configured for your site, you must apply the same ArcGIS Server license edition to each GIS server machine.
Advantages
- 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 GIS servers.
- Single sign on (SSO) can be set up using web-tier authentication on the web server hosting ArcGIS Web Adaptor.
- GIS server machines can be configured to run dedicated subsets of services.
Disadvantages
- Administrators need to install, set up, and maintain multiple GIS 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 GIS 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.
Scalability
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.