Create an Active-Active subscription
To deploy Active-Active databases in Redis Enterprise Cloud, you need to create a Flexible or Annual subscription with Active-Active enabled.
Overall, the process is similar to creating a traditional subscription. However, there are some differences; you need to:
- Define the regions for each database instance
- Define unique CIDR addresses for each instance
- Define throughput (read and write operations) for each region
Active-Active databases consist of multiple copies (also called instances) deployed to different regions throughout the world.
This reduces latency for local users and improves availability should a region fail.
Consistency between each instance is maintained in the background; that is, each copy eventually includes updates from every region. As a result, memory size and throughput increase.
When you create a new Flexible subscription, the Active-Active Redis option appears to the right of the cloud providers.
When you enable Active-Active Redis, the region control changes to a default showing two regions. Select the drop-down arrow to display a list of provider regions that support Active-Active databases.
Use the checkboxes in the list to select or remove regions. The Search box lets you locate specific regions.
You can use a region’s Remove button to remove it from the list.
Define CIDR addresses
To properly route network traffic between each Active-Active database instance and your consumer VPCs, use care to specify unique CIDR address blocks when using VPC peering. The block regions should not overlap between the Redis server and your app consumer VPCs.
In addition, CIDR blocks should not overlap between cluster instances. Every CIDR block should be unique.
Use the VPC configuration section of the Advanced options to define unique address blocks for each region.
When all Deployment CIDR regions display a green checkmark, you’re ready to continue.
Red exclamation marks indicate error conditions; the tooltip provides additional details.
Each Active-Active instance coordinates changes with every other instance, which increases memory use and throughput.
When you create an Active-Active database, you define the throughput for each instance.
Read and write operations are factored into the total throughput. Because each instance needs the ability to write to every other instance, write operations significantly affect the total, as shown in the following table:
|Number of regions||Read operations||Write operations||Total operations|
|Two||1,000 each||1,000 each||6,000
(2,000 reads; 4,000 writes)
|Two||1,500 each||1,000 each||7,000
(3,000 reads; 4,000 writes)
|Two||1,000 each||1,500 each||8,000
(2,000 reads; 6,000 writes)
|Three||1,000 each||1,000 each||12,000
(3,000 reads; 9,000 writes)
The total operations per second:
- Combines the total read ops/sec for each region
- Applies the write ops/sec for each region across every region.
Throughput requirements grow dramatically as regions increase. As a result, consider your requirements carefully.