Hot-Hot : Synchronous Database Cluster

Synchronous Database Architecture Diagram

Overview

Among all Coopr components, database is the only component that stores persistent state information. Any HA configuration that runs redundant Coopr services across datacenters will have to make sure that the services in all datacenters have a consistent view of this data. One way of achieving this consistency is to share a single database cluster across all datacenters as discussed below.

In this configuration a database cluster with synchronous replication is shared across all datacenters. Coopr Servers in each datacenter will connect to the local instance of the database cluster. All other components are configured as mentioned in Datacenter High Availability section.

An advantage of this approach is that Coopr Servers in all datacenters have the same view of data at all times. Hence, users in all datacenters will get to see the same state for all clusters at all times.

Failover

When a datacenter fails in this setup, the data of the failed datacenter is still available in other datacenters due to synchronous replication. Hence Coopr Servers in other datacenters should be able to handle user traffic from the failed datacenter.

However, any transaction that was in progress when the datacenter failed will be lost as it was not committed. Also, any jobs that were in progress in the failed datacenter will not make any progress when the datacenter goes down.

User traffic from the failed datacenter will be re-routed to other datacenters automatically by the load balancer.