You’ve been using RabbitMQ with us and now you want to migrate to LavinMQ? This feature presents a simple way to switch from RabbitMQ to LavinMQ and vice-versa. But first…
At a very high level, the migration feature starts by setting up a new LavinMQ cluster for you.This new cluster is configured based on the definitions extracted from your existing RabbitMQ setup—ensuring that your new environment mirrors the old one in configuration and design(With the exception of your HA configurations). This process usually takes a few minutes.
Once the new LavinMQ cluster is configured, the feature systematically shovels data from your RabbitMQ cluster to LavinMQ.
Note: The migration feature works in both ways — from RabbitMQ to LavinMQ and from LavinMQ to RabbitMQ. Also, the migration feature is currenly only available on dedicated plans.
Follow the steps below to migrate:
On the next page, choose a LavinMQ plan and hit Save.
Hit Confirm to begin transferring your data to LavinMQ.
To migrate your data back to RabbitMQ or simply move an existing LavinMQ cluster over, just follow the same steps above with your LavinMQ cluster.
Curious about what happens under the hood during the migration process?
When you initiate the migration by hitting Confirm, here are the sequence of operations that unfold under the hood(simplified):
Let’s see what each step entails.
First off, our system conducts a couple of verifications. For example, it validates that the selected LavinMQ plan is not smaller than your previous RabbitMQ plan. Essentially, it confirms that the LavinMQ plan you are migrating to can accommodate your existing workload.
The core settings from your RabbitMQ cluster—known as definitions— are then exported. These include your exchanges, queues, bindings, users, virtual hosts, permissions, and more. The exported definitions are subsequently imported into your new LavinMQ cluster.
Before these definitions go live, they undergo a sanitization process. Additionally, all high-availability (HA) policies will not be applied, aligning with LavinMQ's current single node broker architecture.
With the new environment set and definitions in place, shovels are established. These are responsible for the real-time migration of messages from your RabbitMQ queues to the corresponding queues in LavinMQ.
While we ensure a smooth transition during your migration to LavinMQ, there are a few edge cases you should be aware of:
Be sure to plan for these scenarios to ensure a smooth transition to your new setup.