Web farm synchronization mechanisms

When you make changes to content on a server, the system logs the changes into the database as web farm tasks. The server then notifies other servers in the web farm, which retrieve the web farm task data from the database and make appropriate changes in their file system or memory.

The system provides two ways to notify servers about changes in the web farm.

URL notifications

Every Kentico instance contains a page that web farm servers can send requests to when generating web farm tasks. The other web farm servers don’t get involved in the process until they are notified about the changes. When this happens, each server fetches its tasks and processes them accordingly.

This is the default behavior in instances not running on Microsoft Azure.

Database notifications

With database notifications, a column in the CMS_WebFarmServer database table is used. The column contains a time stamp, which indicates the time of the last change made on a server. On the application side, a routine runs in a separate thread which continuously polls the database to find out whether a time stamp changed.

To enable this mechanism, add the following key to your web.config file. You don’t need this key if your application runs on Microsoft Azure, as this mechanism is used on Azure by default.

<add key="CMSWebFarmUseDBUpdater" value="true" />