# Message queue planning

The AMQP Message Broker (normally RabbitMQ) is a core dependency that you must provision, manage, secure, and maintain. The platform uses it for queuing asynchronous tasks.

## Core requirements

* Protocol: The broker must be compatible with the AMQP v0.9 protocol.
* Persistence: This is a critical requirement. Configure the message broker for persistence (e.g., using persistent, replicated queues like RabbitMQ Quorum Queues). This ensures that the platform does not lose queued tasks and messages during restarts or reboots.


## Management and high availability

You are 100% responsible for the high availability (HA) and disaster recovery (DR) of this component.

* Recommendation: You may run your own AMQP server. However, we highly recommend using a fully managed instance if available. This simplifies management, HA, and operations.
* High availability (HA): The platform requires a highly available broker. This is typically achieved with a multi-node cluster (e.g., a 3-node RabbitMQ cluster).


## Network connectivity

As with the database, the OpenShift/Kubernetes cluster must have network access to the message broker. Update the firewall rules to allow persistent access to the AMQP server/cluster endpoint from all application nodes.

## Checklist: Before you proceed

### Decisions made

- [ ] **Deployment model**: Self-managed RabbitMQ cluster OR managed cloud service.
- [ ] **HA topology**: 3-node cluster with quorum queues planned.
- [ ] **Persistence**: Quorum queues configured for message durability.


### Artifacts ready

- [ ] RabbitMQ cluster provisioned (AMQP v0.9 compatible)
- [ ] Virtual host created for Ripple Custody
- [ ] User credentials created with appropriate permissions
- [ ] Connection details documented: `host`, `port`, `vhost`, `username`
- [ ] Firewall rules updated: K8s cluster to RabbitMQ endpoint
- [ ] TLS configuration documented (if applicable)


### Configuration reference

Configuration details are available in the Helm chart values. Contact your Ripple liaison for the complete Helm configuration reference.

### Next step

**Next:** [Network planning](/products/custody/v1.34/deployment/planning/networking) - Plan firewall rules and TLS certificates.