FAQ - ArcFM Replication - Does ArcFM Geodatabase Replication support the use of a load balancer?

Version 2

    Question


    Does ArcFM Geodatabase Replication support the use of a load balancer? If not, how does ArcFM Replication Web scale to handle a large number of client requests?

     

    Answer

     

    Replication Web does not support the use of a load balancer for the web service. Load balancing causes each running Replication Web instance to attempt to perform the same work on the same folder in the ServerBase directory as multiple clients connect. These simultaneous operations lock files for one instance that another instance is trying to use, and will ultimately generate bad update packages for the clients. These packages, which subsequent client connections will not realize are invalid, result in a corrupt FGDB on the client's end, necessitating a full re-download of their backdrop.

     

    However, Replication Web has built-in caching systems when a client connects to preserve the response necessary for that client. For example, if 200 clients with yesterday's latest data connect to Replication Web, the first connection formed will require computing the necessary update package for the user (calculating file differences, generating a file list, and zipping it up for transfer) and sending the location of that update package to the client. Replication Web will then cache the answer for a short while for other clients who need the same update. The other 199 clients can then be immediately responded to with the location of the update package, without needing any file comparisons. In this way Replication Web avoids the need to generate or even identify the file location of the update for all 200 clients: it only calculates the answer for whichever client counted as "first," then uses the answer readily available in memory to immediately respond to the remaining clients.

     

    In addition, although only one instance of Replication Web should be run at a time, the ServerBase folder can be hosted on a load-balanced file sharing system on the network, allowing for scaling of the majority of the work a client will spend waiting on the server for the download of the update package.