Skip to main content

High Availability Architecture

MintPress 4 supports a variety of ways to enable high availability configurations. The following two patterns have been tested.

When enabling high availability across the platform, we recommend to use an external database service layer. Doing that simplifies a lot of cross chatter between the MintPress components and is overall easier to maintain. The external database service is assumed to provide high availability, backups and overall resiliency.

When using external database, the platform setup would depict as below. Note that a lot of components have been removed for brevity but anything requiring database must go out to the external services.

Recommended High Availability Architecture

The high availability (HA) deployment is designed to ensure continuity of service and resilience against failures across the environment. The architecture consists of two or more independent Kubernetes clusters each running in parallel, behind a global load balancer. This design distributes traffic evenly and provides fault tolerance in the event that one or more nodes become unavailable.

At the core of this setup is an external database, which acts as the single source of truth for all application data. The database resides outside of the Kubernetes layer to allow for centralized data management, backup, and recovery processes.

The downside of this setup is that if you have a maintenance window on your database layer with no option to switch to a replica database, you risk causing outage for the entire ecosystems.

This setup can also be called Active-Active as both sites would be up and servicing requests. You can however using the load balancer policies limit it to be Active-Passive where in the load balancer will only forward requests to Site B if Site A goes down.


Supported High Availability Architecture

MintPress can also be setup in HA without an external database. The setup remains the same with the addition of the database layer within Kubernetes being clustered using uni-directional logical replication.

This allows MintPress to use both the databases in read mode simulataneously, while only one is in write mode. However, we still recommend directing all traffics to one site.

Details on how to set these up are available in the high availability setup guide.