High Availability GeoProcessing architecture -ArcGIS server

876
1
Jump to solution
10-12-2020 07:54 PM
AndrewThomas5
New Contributor

I want to publish a Geoprocessing service to multiple (cloud/cluster) ArcGIS server instances (for high availability) but I'm not sure how to share jobs.

I.E. Lets say I have just one async GP service that I have published to an instance (gold instance) in a cloud provider and create an image of that instance. That means I can spin up multiple identical instances. If an instance becomes unhealthy and terminates - no problem as other instances are there to handle new processing jobs. 

However, if I submit a job to this cluster - it will land on one instance and the JOB ID will only exist on that one instance -other instances won't know about that JOB ID.

I'm prepared to lose any jobs that may be running on an unhealthy instance but I don't want to lose incoming jobs as we wait for a replacement instance to spin up.
I suppose I could run a hot-spare type setup.

There must be a better way though?

0 Kudos
1 Solution

Accepted Solutions
by Anonymous User
Not applicable

Hi Andrew Thomas‌,

The usual way of approach HA at the ArcGIS Server tier is to create your ArcGIS Server site and join one or more additional ArcGIS Server instances to that site. When a new ArcGIS Server instance is added to a site, it automatically syncs all the published services from the existing machine(s) within that site. 

Typically you would have a Web Adaptor or load balancer in front of the site distributing requests to the individual machines. In this scenario if one of your ArcGIS Server instances were to go down, the Web Adaptor or load balancer would continue routing requests to the healthy instance - thereby maintaining availability of the service. As such you would likely lose any jobs that may be processing at the time the instance becomes unavailable, but new incoming jobs should be unaffected. 

Does that answer your question, or did you have something else in mind? 

View solution in original post

1 Reply
by Anonymous User
Not applicable

Hi Andrew Thomas‌,

The usual way of approach HA at the ArcGIS Server tier is to create your ArcGIS Server site and join one or more additional ArcGIS Server instances to that site. When a new ArcGIS Server instance is added to a site, it automatically syncs all the published services from the existing machine(s) within that site. 

Typically you would have a Web Adaptor or load balancer in front of the site distributing requests to the individual machines. In this scenario if one of your ArcGIS Server instances were to go down, the Web Adaptor or load balancer would continue routing requests to the healthy instance - thereby maintaining availability of the service. As such you would likely lose any jobs that may be processing at the time the instance becomes unavailable, but new incoming jobs should be unaffected. 

Does that answer your question, or did you have something else in mind?