Workflow and settings


When content is updated in the Primary region, the changes are saved to database and related NLB messages are distributed via Azure Redis to all connected nodes, including Sitefinity CMS instances in the Secondary regions. NLB messages contain two additional fields - Connection and Timestamp. Timestamp field indicates when the message was created and Connection field indicates which connection performed the database update. Periodically, all Sitefinity CMS instances in the Primary region are writing a connection timestamp to the database. 

In the Secondary regions, all Sitefinity CMS instances periodically read database connection timestamps and store those values in memory. When NLB message arrives, Sitefinity CMS compares message timestamp and database timestamp. If the message timestamp is smaller than the database timestamp, the replication process does not update the Secondary database to a state that it is ready to process the NLB message. In this case, the NLB message is stored in memory for later processing. After predefined amount of time, Sitefinity CMS checks again which NLB messages can be processed – these that have timestamp smaller than database timestamp and handle them. Once NLB messages are processed, Sitefinity CMS cache is invalidated and put into state common for all regions.

The following chart displays the process of database replication:

Read-only db


To access all settings the settings related to Multi-regional deployment setup, navigate to Settings » Advanced » System » LoadBalancing » Replication Sync Settings.

Settings Description
Timestamp Write Interval
The timestamp update interval (applicable for Primary Database).
Write Inactivity Threshold
In case a write operation is not performed in this interval, the timestamp update process is stopped. Once a write operation is performed, timestamp update process is reset as well.
Timestamp Read Interval
The timestamp read interval (applicable for Secondary Database).
Message Retry Interval
The period between two attempts for handling of unprocessed messages stored in the Redis instance.
Max Unprocessed Messages
The maximum number of unprocessed messages the system will hold before discarding them.
Max Message Age
The maximum age of unprocessed messages. Messages older than this value are discarded.
The objects that will take care of message transportation and synchronization. By default, Redis transporter.

Want to learn more?

Sign up for our free beginner training. Boost your credentials through advanced courses and certification.
Register for Sitefinity training and certification.

Was this article helpful?