Skip to content

Messaging

Managed RabbitMQ on your own cluster

Message broker speaking AMQP 0-9-1, so Celery, Bull, Sidekiq and Spring AMQP connect unchanged, with the management UI.

Created inside a project, beside the apps that use it. Each project gets its own instance, storage and credentials.

01What it does

RabbitMQ, run for you

RabbitMQ 4.1 or 4.3 on Anyport's own chart, with the management plugin.

Background jobs, work queues and pub/sub over AMQP 0-9-1, which is the protocol the job libraries already speak. Bound apps get the URL, host, port, username, password and virtual host.

The broker stops accepting new messages at 60% of its memory and resumes once consumers catch up, so the size is the back-pressure setting as much as the capacity. The management UI runs on a Service of its own, so publishing the dashboard on a hostname cannot put the broker's client port on the internet beside it.

02Options

What you choose

What the console asks when you create it, in the catalog's own numbers. Anything marked chosen once cannot change without creating a new instance.

Sizes
small 512Mi, medium 1Gi, large 2Gi of memory
Storage
4Gi by default, chosen once
Versions
4.1 (default, long-term support) or 4.3; upgrades are forward-only
Hostname
The management UI (15672) can be published on a domain
Public port
AMQP (5672) can be opened on a public cluster
Pause
Yes; the volume is kept

03Binding

What your app receives

Bind it to an app and these arrive as environment variables. The values are generated once into a secret and reach the app from there, rather than as something you copy.

  • RABBITMQ_HOST
  • RABBITMQ_PORT
  • RABBITMQ_USERNAME
  • RABBITMQ_PASSWORD
  • RABBITMQ_VHOST
  • RABBITMQ_URL

04Adding it

Add RabbitMQ to a project

The same four steps as every service in the catalog.

  1. 01Open a project and go to Services.
  2. 02Pick it from the catalog and choose its options. Only the size is required; everything else has a default.
  3. 03Create it. Anyport installs it into the project's namespace, generates its credentials into a secret there, and tracks its health.
  4. 04Bind it to an app. The connection details arrive as environment variables, and rotating the credential never means editing an app.

Also under Messaging