NCache 4.6 - Online Documentation

Replicated Cache

Figure 1. Replicated Cache
Multiple Server Nodes: In replicated cache, there can be two or more server nodes. Each node is replica of the cache, i.e., all server nodes contain the same set of cached data.
More than One Backup: More than one backup of the cached data can be created by increasing the number of server nodes in the cluster. The number of backups is equal to the number of the server nodes.
Replication Mode: Replications are performed synchronously on all other nodes of the cache. In synchronous parallel replication, there is a chance that two parallel requests for updating the same data may result in a different state on different replica nodes. However, by using a global token, updates are performed on all nodes in a sequenced fashion to avoid data integrity issues.
Clients' Load Balancing: Cache clients are load balanced automatically by the cluster for an even distribution of load on the cache nodes. This ensures that any one node is not overwhelmed by the cache client requests. Client load balancing is configurable and can be turned off.
High Performance in Reference Data: Replicated cache is suitable when data read are more than data writes. For any cache client, reads are local to the server which means that cache client has direct access to all data.
Runtime Scalability: Server nodes can be added or removed in replicated cache like other topologies at run time.
Low Performance in Transactional Data: As more server nodes are added to scale the replicated cache, write overhead increases. So this topology is not suitable for applications having transactional type of data.
Storage Limitation to Each Server Node: Adding more nodes does not increase the storage capacity because every node has same data set.
High Availability: Replicated topology is best for applications where high availability and reliability with zero down time is the priority. This is because this topology contains multiple backups of cached data set.
Clients' Connections:  The cache client can connect to any node of the server which means that all server nodes are active but at a time the client is connected to only one server node of the cache cluster.
State Transfer: Every server node replicates the state from the coordinator node (the senior most node in terms of cluster joining) when it joins the cache cluster.
See Also