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