Skip to content

Introduction to the Message Queues Service

The Message Queues service provides a reliable and scalable messaging system for your applications. By decoupling your services and enabling asynchronous communication, it improves the resilience, scalability, and performance of your entire application architecture.

In a microservices architecture, direct communication between services can lead to tight coupling and cascading failures. If one service is down, any service that depends on it can also fail. A message queue solves this problem by acting as an intermediary, allowing services to communicate without being directly connected.

Our managed Message Queues service is built on the official RabbitMQ Cluster Operator for Kubernetes. This provides a powerful, cloud-native approach to managing your messaging infrastructure.

We manage the core RabbitmqCluster resource for you, ensuring it is highly available, secure, and scalable. You, in turn, manage your messaging topology—the queues, exchanges, users, and permissions—declaratively, as code, using Kubernetes custom resources.

When to Use a Message Queue

A message queue is the ideal choice for traditional point-to-point messaging and for distributing tasks to multiple workers. Common use cases include:

  • Asynchronous Task Processing: Offload long-running tasks (like sending an email or processing an image) to a background worker, keeping your application responsive.
  • Service Decoupling: Allow microservices to communicate without having to know about each other's availability or location.
  • Work Queues: Distribute a high volume of tasks among multiple consumers (workers) to be processed in parallel.
  • Fanout Notifications: Publish a single message to multiple consumers at once, such as in a real-time notification system.

Features

  • Reliable Message Delivery: Ensures that messages are delivered to their destination, with support for acknowledgements and persistent messages.
  • Flexible Routing: RabbitMQ's rich set of routing capabilities allows you to implement complex messaging patterns to suit your application's needs.
  • High Availability: The service is deployed in a highly available, clustered configuration to ensure that your messaging infrastructure is always online.
  • Scalability: Quickly scale your RabbitMQ cluster to handle your application's message volume as it grows.
  • Declarative Topology Management: Define your entire messaging topology—queues, exchanges, bindings, users, and permissions—as Kubernetes resources right alongside your application code. This enables a true GitOps workflow for your messaging infrastructure.
  • Managed Cluster, User-Managed Topology: We handle the complex task of operating the RabbitmqCluster itself—setup, configuration, security, and upgrades. You retain full control over your application's messaging topology, which you can manage declaratively.

Tip

For general information about pricing, legal or support concerning the platform, services or components, consult your contract or see the contact page.