Production checklist

RabbitMQ production checklist: 6 checks before launch

6 checks for running RabbitMQ in production: 1 must-do, 3 should-dos and 2 good-to-haves. Each one says why it matters, how to verify it and where the docs are.

Updated . Every check links the vendor’s own docs.

Check my repo

Must do (1)

  • Remove the default guest user and create per-app users

    guest/guest is the first thing scanners try.

    Verify from the command line

    The guest user shouldn’t be listed; each app has its own user.

    rabbitmqctl list_users

    Read more on rabbitmq.com

Should do (3)

  • Encrypt client connections with TLS

    AMQP credentials and messages otherwise travel in plain text.

    Verify from the command line

    Listeners should include amqp/ssl (usually 5671), and plain AMQP on 5672 shouldn’t be reachable from outside.

    rabbitmq-diagnostics listeners

    Read more on rabbitmq.com

  • Set the memory high watermark and disk free limit for your hosts

    When a node runs out of disk it can’t recover cleanly; the alarms stop publishers first.

    Verify from the command line

    Status shows the memory high watermark and a disk free limit sized for your host, well above the small default.

    rabbitmq-diagnostics status | grep -iE "watermark|disk free"

    Read more on rabbitmq.com

  • Use publisher confirms and manual consumer acknowledgements

    Without them, messages are lost when a connection drops mid-flight.

    Check the code

    Publishers use a confirm channel and wait for confirms; consumers ack manually after processing.

    const ch = await conn.createConfirmChannel();
    await ch.consume(queue, handle, { noAck: false });

    Read more on rabbitmq.com

Good to have (2)

  • Go through the RabbitMQ production checklist

    Resource limits, TLS and clustering settings for production.

    How to verify

    Go through each section of the checklist (virtual hosts, users, resource limits, TLS, clustering) and note which apply.

    Read more on rabbitmq.com

  • Use quorum queues for messages you can’t lose

    They replicate across nodes, so a node failure doesn’t lose the queue.

    Verify from the command line

    Queues holding important messages show type quorum.

    rabbitmqctl list_queues name type durable

    Read more on rabbitmq.com

Get the checklist for your whole stack

Design your stack or map your repo in StackPrism, and the Improve panel lists the checks for every technology on it and keeps track of what you’ve done. Building with an AI app builder? Start with the vibe coding checklist.