Workflow and settings

Workflow

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

Settings

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
[seconds]
The timestamp update interval (applicable for Primary Database).
Write Inactivity Threshold
[seconds]
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
[seconds]
The timestamp read interval (applicable for Secondary Database).
Message Retry Interval
[seconds]
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
[seconds]
The maximum age of unprocessed messages. Messages older than this value are discarded.
Transporters
The objects that will take care of message transportation and synchronization. By default, Redis transporter.

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Web Security for Sitefinity Administrators

The free standalone Web Security lesson teaches administrators how to protect your websites and Sitefinity instance from external threats. Learn to configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?