Multi-regional deployment of Sitefinity CMS is a recommended solution for companies with a presence in multiple countries or planning to expand globally.
There are two main reasons for this:
- Better end-customer's performance (reduced latency)
- Business requirements
EXAMPLE: For example, if your end-users are in Australia but your Sitefinity CMS is in Europe, the added latency is approximately 300ms for each call.
Therefore, having locally available applications and content is important.
From the business standpoint, there are cases where the data should be stored in distinct regions, separated by thousands of kilometers. In these cases, we recommend storing data in multiple regions. Sitefinity CMS address this need by enabling customers and partners to establish Sitefinity CMS instances that share common data across multiple regions.
To support these requirements, Sitefinity CMS introduced a mechanism for database synchronization along with Cache invalidation across the regions.
For maximum efficiency and optimal resource utilization, there are different solutions for multi-regional deployment based on the distinct business need.
Components of the Multi-regional deployment
The multi-regional deployment consists of the following components:
- Primary region
Consists of one or many Sitefinity CMS instances that are connected to the primary database, session database (region-specific), and Redis cache instance.
- Secondary region(s)
Consists of one or many Sitefinity CMS instances that are connected to secondary database, session database (region specific), and Redis cache instance.
- Primary database
The database in the primary region. It supports read-write operations. Primary database is replicated across the secondary regions.
- Secondary database(s)
The database in the secondary region(s). It is a replication of the primary database and, therefore, it is read-only.
- Session databases
The region-specific database that store data that is not replicated outside of the region.
The Session database is an ordinary empty database at first. After you configure Sitefinity CMS to use it, the respective database tables will be automatically created.
- Azure Redis cache instance
Used for communication channel between the regions. Each Sitefinity CMS instance is broadcasting messages that should be delivered to the rest of the instances.