Open source Redis is a single-threaded process to provide speed and simplicity. A single Redis process is bound by the CPU core that it is running on and available memory on the server. Redis Enterprise Software (RS) supports database clustering to allow customers to spread the load of a Redis process over multiple cores and the RAM of multiple servers. A database cluster is a set of Redis processes where each process manages a subset of the database keyspace.
Database replication provides a mechanism to ensure high availability. When replication is enabled, your dataset is replicated to a slave node, which is constantly synchronized with the master node. If the master node fails, an automatic failover happens and the slave node is promoted to be the new master node. When the old master node recovers, it becomes the slave node of the new master node. This auto-failover mechanism guarantees that data is served with minimal to no interruption.
The rack-zone awareness feature enables more sophisticated placement of database shards and endpoints in high-availability scenarios, as compared to non-rack-zone aware configuration. When you enable rack-zone awareness in the cluster, you need to assign each node to a rack-zone ID. This ID is used for mapping the node to a physical rack or a logical zone (which itself is mapped to a physical rack). The cluster can then make sure that master shards and corresponding slave shards, and similarly endpoints, are placed on nodes in different racks.