New Transport! RabbitMQ and LavinMQ

Damian Maclennan
announcement transports rabbitmq

Nimbus has a new transport: RabbitMQ (and LavinMQ).

RabbitMQ is one of the most widely deployed message brokers around. If your team already runs it, you can plug Nimbus straight in.

LavinMQ: worth knowing about

The transport also works with LavinMQ, a lightweight broker from the CloudAMQP team. It uses AMQP 0.9.1, so it works with the same RabbitMQ client. Switching between them is a config change, nothing else. LavinMQ is a great, low latency option, and it handles delayed messages natively without any plugins.

If you’re self-hosting and don’t need the full RabbitMQ feature set, it’s worth a look. CloudAMQP also offers managed LavinMQ hosting if you’d rather not run it yourself.

Getting started

dotnet add package Nimbus.Transports.RabbitMQ
// RabbitMQ
var transport = new RabbitMqTransportConfiguration()
    .WithHost("localhost")
    .WithCredentials("admin", "admin");

// LavinMQ: same config, different host/port
var transport = new RabbitMqTransportConfiguration()
    .WithHost("localhost")
    .WithPort(5673);

Scheduled delivery

Both brokers support SendAfter and SendAt. RabbitMQ requires the rabbitmq_delayed_message_exchange community plugin. LavinMQ handles it natively, no plugin needed.

See the RabbitMQ transport docs for the full configuration reference.

← Back to Blog