HA Review
The entry offer: topology, replication, headroom, backups and monitoring read against how the platform is really used. One to four weeks.
High Availability and Disaster Recovery
Managed disaster recovery from AceMQ is a project followed by cover: we design high availability and DR for your RabbitMQ, Kafka, Redis or Valkey, and PostgreSQL platforms, prove it with failover tests, write the runbooks, and then support or run the platform. It starts with an HA review that takes one to four weeks, depending on complexity and what we find. You get a written report, a ranked fix list and a tested recovery plan.
Is This You?
A public-sector platform whose node disk filled and took it down
RabbitMQ split brain keeps happening and nobody is sure which node to trust
Failover is a wiki page that has never been run under real conditions
A disaster recovery site exists on paper, and nobody has switched over to it
An auditor or a risk questionnaire is asking for recovery time and recovery point evidence
Kafka replication and acknowledgement settings were chosen at go-live and never checked against the durability the business assumes
One or two engineers know how to recover the platform, and they are not always reachable
Outcomes
Concrete state changes, not deliverable counts. This is what actually differs about your Infrastructure estate when the engagement closes.
Before
High availability is assumed because there are three nodes.
Recovery time and recovery point targets set per workload, mapped to concrete replication settings, and checked against what the platform does today.
Before
Failover has been configured but never exercised.
Deliberate failure tests for node loss, disk full, zone loss and network partition, with the results written down.
Before
Recovery depends on whoever remembers the steps.
Runbooks your own engineers can execute without waiting on a vendor, for the automated path and the manual one.
Before
After the project, nobody owns the platform at 3 a.m.
Support or managed operation on the four-stage ladder, from the engineers who designed the recovery.
Scope
The entry offer: topology, replication, headroom, backups and monitoring read against how the platform is really used. One to four weeks.
Quorum queue and stream design, replication factor, in-sync replicas and acknowledgements, cross-data-centre replication, and partition behaviour.
Sentinel or Cluster for Redis and Valkey, and streaming replication with Patroni-style leader election for PostgreSQL, with data-loss policy stated per workload.
Kubernetes high availability through zone spread, anti-affinity, disruption budgets and storage that survives node loss, for brokers and databases run on Kubernetes or in a cloud account.
Planned failure injection on a rehearsal environment or inside an agreed window, with a record of what happened and how long it took.
Step-by-step recovery for the automated path and the manual path, written for the engineers who will be on the pager.
The Engagement
Every phase has a defined duration and a concrete artifact handed over at the end of it. You always know what stage you're in and what you've received.
A senior engineer reviews each platform for single points of failure, replication and durability settings, resource headroom, backup and restore, and the monitoring that should have caught the last incident. The 1 to 4 weeks depend on complexity, focus areas and problems found.
You receive
Target topology across failure domains, replication and failover settings, and the cross-site design if disaster recovery spans two data centres or regions.
You receive
We exercise the design: node loss, disk full, zone loss and network partition, measured against the targets. Gaps found are fixed and re-tested.
You receive
Runbooks for your team, then the support stage you choose, from on-call escalation to AceMQ operating the platform.
You receive
High availability keeps a platform running through the loss of a node. Disaster recovery brings it back after the loss of a site. The first is designed into the cluster, and the second is designed around it and proven by switching over. One engagement covers both, across the platforms you run.
| Platform | High availability mechanism | What we test | Where to start |
|---|---|---|---|
| RabbitMQ | Quorum queues and streams, replicated by Raft across an odd number of nodes in separate failure domains. Federation or shovel between clusters for disaster recovery. | Node loss, partition behaviour, disk and memory alarms, and queue member counts after node replacement. | RabbitMQ health check |
| Kafka | Replication factor, in-sync replicas and producer acknowledgements set as a group, rack or zone awareness, and a KRaft controller quorum. | Broker loss, ISR shrinkage, controller failover and log-directory headroom. | Kafka health check |
| Redis and Valkey | Sentinel for a primary and replicas, or Cluster for sharding. Replication is asynchronous, so the write-loss window is stated. | Primary loss, failover time, and client behaviour during promotion. | Redis support |
| PostgreSQL | Streaming replication with automated leader election and fencing, for example Patroni with a consensus store. Synchronous replication only where durability justifies the latency. | Primary loss, zone loss, network partition and client routing to the new primary. | PostgreSQL support |
| MySQL | Replicas with automated failover, or a group replication cluster, depending on the version and the durability needed. | Primary loss, replica lag at failover and application reconnection. | MySQL support |
| Kubernetes | Zone spread with anti-affinity, pod disruption budgets, storage that survives node loss and operators that upgrade one member at a time. | Node drain, zone loss and rolling upgrades under load. | Containers and Kubernetes |
This page is one of AceMQ's solutions for common infrastructure problems
For brokers, start with the RabbitMQ health check
For Kafka, the Kafka health check
For databases, see PostgreSQL support
| Term | What it means | How it is judged |
|---|---|---|
| High availability | Designing the platform so that losing a component does not stop service. | Does the service stay up when one node fails? |
| Failover | The act of switching to a standby, automatically or by hand. | How long does the switch take, and what data is lost? |
| Disaster recovery | Restoring service after losing a whole site, region or the data itself. | Recovery time objective and recovery point objective, proven by a drill. |
In short, high availability is the design, failover is the mechanism and disaster recovery is the plan for when the design is not enough. A platform can be highly available and still have no disaster recovery.
Most outages in this area come from three failures. Each is cheap to rehearse and expensive to meet for the first time in production.
RabbitMQ high availability depends on a majority of replicas being online. On RabbitMQ 4.3 and later, the metadata store, quorum queues and streams are all Raft-based, the old partition handling strategies are gone, and a three-node cluster tolerates one node failure while a two-node cluster tolerates none. On earlier versions, the partition handling mode and the network settings decide what happens, and those are the settings we review first. For PostgreSQL the equivalent is fencing the old primary through leader election, and for Redis and Valkey it is the Sentinel quorum.
For a live cluster that keeps partitioning, see RabbitMQ troubleshooting
A full disk can take down any stateful platform. On RabbitMQ, when free disk space drops below the configured limit an alarm blocks all producers, the alarm is cluster-wide, and if messages are paged out fast enough the disk can still fill between checks and crash the node. On PostgreSQL, an inactive replication slot retains write-ahead log until the volume fills. On Kafka, retention and log-directory headroom decide how long a broker rebuild takes. We size headroom, set alarms that page before the limit, and test what happens at the limit.
Two published examples show the shape. A telecommunications operator ran PostgreSQL with manual failover documented in a wiki page that had never been exercised. A government systems integrator had a RabbitMQ failover that was a manual promotion nobody had practised. In both cases the fix was the same: set the recovery targets, automate or write down the path, and prove it with deliberate failure tests before handover.
The accounts are in PostgreSQL high availability and failover design
and Boomi and RabbitMQ disaster recovery and message replay
and the general design in RabbitMQ high availability and disaster recovery
The HA review is where most engagements start. It is an engineer-led read of the platform against how it is used, with written findings and a ranked fix list. Assessments take one to four weeks depending on complexity, focus areas and problems found. We need visibility, not hands-on access: configuration exports and metrics history are enough, and read-only access speeds it up.
The review for brokers is the RabbitMQ health check
and the Kafka health check
The project ends with a platform that has been designed and tested. The cover after it is your choice, on four stages.
| Stage | What it is | The question it answers |
|---|---|---|
| Stage 1: Reactive support | Senior engineers on call for incidents under a contracted SLA, with a 15-minute emergency response. | Our team runs the platform. Who do we call when it breaks at night? |
| Stage 2: Proactive support | Stage 1 plus monitoring through AceMQ's observability setup. | Who notices trouble before our customers do? |
| Stage 3: Managed on your infrastructure | AceMQ operates the platform inside your cloud account or data center. | Data must stay inside our boundary and we do not want the pager. |
| Stage 4: Managed on AceMQ's infrastructure | AceMQ hosts and operates the platform. | We want it run for us, and our policy allows a hosted service. |
Start with enterprise open source support
or see managed open source services
FAQ
It is disaster recovery that someone else owns after the design is done. AceMQ designs the high availability and recovery setup for your brokers and databases, tests it with deliberate failures, writes the runbooks, and then supports or operates the platform on one of four stages, so the recovery plan stays current and rehearsed.
It supports the building blocks: streaming replication, hot standbys and logical replication. It does not detect a failed primary and promote a standby by itself. Automatic failover comes from tooling such as Patroni with a consensus store, or from a managed service, and it has to be designed so that two nodes never both accept writes.
No. Sentinel is still the documented Redis high availability mechanism for non-clustered deployments, and Valkey has its own Sentinel with the same role. Only Sentinel version 1, from Redis 2.6, is deprecated. Replication is asynchronous, so we state the write-loss window and test failover timing for your clients.
Yes. MySQL high availability is designed with replicas and automated failover, or a Group Replication or InnoDB Cluster setup, depending on the version and the durability the workload needs. We test primary loss, replica lag at failover and application reconnection, and MySQL 5.7, 8.0 and 8.4 LTS are covered by our MySQL support.
High availability is the design that keeps a service running when a component fails. Failover is the act of switching to a standby, automatically or by hand. Disaster recovery is the plan for losing a whole site. A platform can have failover configured and still not be highly available if the switch has never been tested.
AceMQ's RabbitMQ engineers. We read the cluster logs and settings, find what is causing the partitions, and fix the node count, network settings and partition handling for your version. On RabbitMQ 4.3 and later, quorum queues and the metadata store are Raft-based and need a majority online, so the design focuses on failure domains and network reliability.
AceMQ does. We size disk and memory headroom, set the free-disk limit and alarms, and design the cross-site layer, usually federation or shovel between two clusters rather than one cluster stretched across a WAN, with the failover and failback steps tested. On RabbitMQ a disk alarm blocks all producers cluster-wide, so headroom is the first fix.
AceMQ senior engineers, alongside your team. We plan the test, run it on a rehearsal environment or inside an agreed window, and record what failed over, how long it took and what data was at risk. Kafka tests cover broker loss, in-sync replica behaviour and controller failover. PostgreSQL tests cover primary loss, zone loss and network partition.
One to four weeks, depending on complexity, the number of platforms, the focus areas and the problems found. You get written findings with evidence and a ranked fix list. We need configuration exports and metrics history, and read-only access speeds it up.
It is scoped on the platforms, the failure domains and the depth of testing, and we do not publish a price list. Tell us what you run and we will reply to your quote request within 1 hour.
Let's talk
Tell us which brokers and databases you run, where they sit and what has gone wrong. We will scope an HA review and reply to your quote request within 1 hour.
Send us a message and we'll follow up within one business day — or book a free 30-min consultation directly.
305-204-2607info@acemq.comPrefer to talk now? Call us directly or use the consultation tab to find a time that works.