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:
To access all settings the settings related to Multi-regional deployment setup, navigate to Settings » Advanced » System » LoadBalancing » Replication Sync Settings.
Sign up for our free beginner training. Boost your credentials through advanced courses and certification. Register for Sitefinity training and certification.
To submit feedback, please update your cookie settings and allow the usage of Functional cookies.
Your feedback about this content is important