Load balancing and clustering


This document was published with ArcGIS 9.3.1.
Summary Web Mapping Applications can be distributed by deploying them to an ArcGIS Server cluster. A distributed Web Mapping Application can provide better performance since multiple machines can handle more load than one. Clusters also provide high availability where if one machine goes down, clients can connect to another server transparently.


We designed the Java Web ADF "Internet Resources" (like WMS, ArcIMS Internet Connections, and ArcGIS Server Internet Connections) that connect through a URL to use existing clustering technology that customers would already have running.  Clustering technology makes it possible to use a single URL to connect to one of a pool of machines.  So the Internet Resources simply take a URL that goes to a cluster.  No extra work is needed to configure your application to use the web server cluster.  
 
The ArcGIS Server local connection (DCOM for ArcGIS Server) is the exception.  There is no third-party product that allows clustering of DCOM servers like there is for web servers.  We feel like it is still important to provide this functionality and so we made it possible through our Java Web ADF to configure clustering even though it requires special steps to configure as shown in the Web Map Application scenario below. 
 
There are two (2) types of applications which you can set up to utilize ArcGIS Server in a round-robin or failover scenario:
 
  1. Web Map Application, must be an ArcGIS Server Local Connection
    1. You need to edit the applications facesconfig.xml file to allow connections to multiple SOM's in a round-robin or failover fashion.
    2. This is done by adding more hosts to the managed-property "hosts" and add a new managed-property called "clusterType".
    3. For example, add the following to your facesconfig.xml file:
 

[XML]
<!-- Edit the hosts managed-property values -->
<managed-property>
  <property-name>hosts</property-name>
  <list-entries>
    <!-- Add values for your SOM servers -->
    <value>arcgis1.esri.com</value>
    <value>arcgis2.esri.com</value>
  </list-entries>
</managed-property>
<!-- Add a new clusterType managed-property -->
<managed-property>
  <property-name>clusterType</property-name>
  <value>roundrobin</value>
</managed-property>
  1. Web Service Handler (WSH)
    1. Using ArcGIS Server Manager, go to the 'Services' tab and select 'Configure Services Handler'.
    2. Select the 'Export' tab.
    3. Under 'Export Web Services', select the type of service you would like to export (REST or Web).
    4. Fill in the appropriate GIS Server credentials to connect to.
    5. Select the 'Yes' radio button under 'Do you have additional GIS Servers in your site that you would like to use for a failover or round-robin configuration?' and add the appropriate GIS Servers.
 
 
 
    1. Once complete, export your application and deploy to a supported application server. 
 
Please note that the username and password used must be able to connect to all the GIS Servers in the cluster for both application types.