Three data groups, active-active-active#

The three data groups pattern spans three or more geographic regions, each running its own independent Raft consensus group for local high availability (HA). With three or more data nodes per group, each group can use majority-based commit scopes within its own region, with Connection Manager handling write leader routing locally.

Applications connect to their local region for low-latency reads and writes. Inter-region replication is typically asynchronous to avoid cross-region latency penalties.

Three data groups topology

Three data groups topology#

Diagram legend#

Symbols represent node types, group containers, and connection types.

Diagram legend showing node types, group containers, and connection types

Diagram legend showing node types, group containers, and connection types#

When to use this pattern#

This pattern suits global SaaS applications, CDN-like data distribution, and multinational enterprises requiring geo-replication with data locality and eventual consistency across three or more regions.

The advantages of this pattern include the following:

  • Enables true global presence with low-latency reads and writes in every region.

  • Survives entire region failure while other regions continue operating.

  • Natural Raft majority with three or more regions.

  • Best end-user experience for globally distributed applications.

There are some limitations to keep in mind:

  • Conflicts are inevitable with optimistic cross-region consistency handling.

  • Higher operational complexity with more nodes, more locations, and more monitoring.

  • Inter-region latency affects replication lag and conflict detection window.

Adding global routing#

Three or more data groups can also be used with global routing, where the whole cluster has a single write leader rather than one per group. A single global write leader eliminates write conflicts by routing all writes through one location, at the cost of increased write latency for regions not hosting the write leader. When the write leader changes location, latency characteristics shift for all regions.

Three data groups with global routing topology

Three data groups with global routing topology#