<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Rabbitmq on Damian Maclennan</title>
    <link>http://damianm.com/tags/rabbitmq/</link>
    <description>Recent content in Rabbitmq on Damian Maclennan</description>
    <generator>Hugo</generator>
    <language>en-au</language>
    <managingEditor>damian@damianm.com (Damian Maclennan)</managingEditor>
    <lastBuildDate>Sun, 12 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="http://damianm.com/tags/rabbitmq/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>RabbitMQ and LavinMQ Support in Nimbus</title>
      <link>http://damianm.com/posts/2026/rabbitmq-lavinmq-support-in-nimbus/</link>
      <pubDate>Sun, 12 Jul 2026 00:00:00 +0000</pubDate>
      <guid>http://damianm.com/posts/2026/rabbitmq-lavinmq-support-in-nimbus/</guid>
      <description>&lt;![CDATA[<p><em>TLDR: Nimbus now has a native RabbitMQ transport. Details and docs <a href="https://nimbusapi.com/blog/2026-07-06-rabbitmq-transport/">here</a>.</em></p>
<p>In the beginning, Nimbus only spoke Azure Service Bus.
If a project needed RabbitMQ we reached for <a href="https://masstransit.massient.com/">MassTransit</a>, which is excellent, and got on with the job.</p>
<p>These days everybody supports everything, so for completeness I&rsquo;ve added a native RabbitMQ transport to Nimbus. If you&rsquo;ve used the other transports there&rsquo;s nothing new to learn. Your code is the same, with a different transport config.</p>
<p>The interesting part of this work was <a href="https://lavinmq.com/">LavinMQ</a>, which I&rsquo;ve only recently become aware of.</p>
<p>LavinMQ is a RabbitMQ-compatible broker written in Crystal, built by the team at <a href="https://lavinmq.com/">84Codes</a>. It speaks AMQP 0.9.1, the same protocol as RabbitMQ, so the Nimbus transport works against it unchanged. I built and tested the transport against a LavinMQ broker as well as Rabbit.</p>
<p>Moving an existing app across is literally a connection string change.</p>
<h2 id="lavinmq-is-interesting">LavinMQ is interesting</h2>
<p>From what I have learned, LavinMQ is written to be leaner and faster than RabbitMQ. It uses a whole lot less RAM, and has a much lower latency than RabbitMQ.</p>
<p>It&rsquo;s also got a nice, modern web interface which makes monitoring it easy.</p>
<p>LavinMQ doesn&rsquo;t have the plugin ecosystem that Rabbit does, or some of the routing and federation options, but it does come bundled with a few things you need that are options in Rabbit. The one I care most about is delayed messages, which is baked in and you don&rsquo;t need to do a thing to use it with Nimbus.</p>
<p>There&rsquo;s another cool feature baked in that has given me some ideas, a Shovel feature which will forward messages via HTTP. An interesting option for some integration scenarios.</p>
<p>The other thing to think about if you&rsquo;re getting started, is that the 84Codes team run <a href="https://www.cloudamqp.com/">CloudAMQP</a> and offer hosting for both Rabbit and LavinMQ, so you can outsource that pain and just get started.</p>
<p>RabbitMQ support is <a href="https://nimbusapi.com/docs/transports/rabbitmq/">out now for Nimbus</a>. If you try it, especially against LavinMQ, let me know how it goes.</p>
]]></description>
      <content:encoded>&lt;![CDATA[<p><em>TLDR: Nimbus now has a native RabbitMQ transport. Details and docs <a href="https://nimbusapi.com/blog/2026-07-06-rabbitmq-transport/">here</a>.</em></p>
<p>In the beginning, Nimbus only spoke Azure Service Bus.
If a project needed RabbitMQ we reached for <a href="https://masstransit.massient.com/">MassTransit</a>, which is excellent, and got on with the job.</p>
<p>These days everybody supports everything, so for completeness I&rsquo;ve added a native RabbitMQ transport to Nimbus. If you&rsquo;ve used the other transports there&rsquo;s nothing new to learn. Your code is the same, with a different transport config.</p>
<p>The interesting part of this work was <a href="https://lavinmq.com/">LavinMQ</a>, which I&rsquo;ve only recently become aware of.</p>
<p>LavinMQ is a RabbitMQ-compatible broker written in Crystal, built by the team at <a href="https://lavinmq.com/">84Codes</a>. It speaks AMQP 0.9.1, the same protocol as RabbitMQ, so the Nimbus transport works against it unchanged. I built and tested the transport against a LavinMQ broker as well as Rabbit.</p>
<p>Moving an existing app across is literally a connection string change.</p>
<h2 id="lavinmq-is-interesting">LavinMQ is interesting</h2>
<p>From what I have learned, LavinMQ is written to be leaner and faster than RabbitMQ. It uses a whole lot less RAM, and has a much lower latency than RabbitMQ.</p>
<p>It&rsquo;s also got a nice, modern web interface which makes monitoring it easy.</p>
<p>LavinMQ doesn&rsquo;t have the plugin ecosystem that Rabbit does, or some of the routing and federation options, but it does come bundled with a few things you need that are options in Rabbit. The one I care most about is delayed messages, which is baked in and you don&rsquo;t need to do a thing to use it with Nimbus.</p>
<p>There&rsquo;s another cool feature baked in that has given me some ideas, a Shovel feature which will forward messages via HTTP. An interesting option for some integration scenarios.</p>
<p>The other thing to think about if you&rsquo;re getting started, is that the 84Codes team run <a href="https://www.cloudamqp.com/">CloudAMQP</a> and offer hosting for both Rabbit and LavinMQ, so you can outsource that pain and just get started.</p>
<p>RabbitMQ support is <a href="https://nimbusapi.com/docs/transports/rabbitmq/">out now for Nimbus</a>. If you try it, especially against LavinMQ, let me know how it goes.</p>
]]></content:encoded>
    </item>
    
  </channel>
</rss>
