When you work with message brokers and symfony you probably stumbled upon RabbitMQ or Kafka. Thoses work flawlessly and are very simple services. The only thing that triggers me is the dashboard which comes for example with RabbitMQ. But wait no longer, there is a new kid in town – LavinMQ…
Spoiler: This is not a comparison by performance, setup or efficiency.
LavinMQ
LavinMQ is a message queue software, also called a message broker where messages are published by a sending service called a producer, via the broker, to then be consumed by the receiving service called a consumer. When not handling messages, the queue can route, buffer, and persist the messages according to rules set up by the user.
https://lavinmq.com/documentation/getting-started
Since LavinMQ is using the AMQP 0.9.1 protocol for message queuing you do not need to worry about changes in your code for example in Shopware 6. It works plug and play with your previous RabbitMQ integration. So my URL looks like:
AMQP_URL="amqp://USER:PASSWORD@kebnekaise.lmq.cloudamqp.com/HOST?connect_timeout=50&heartbeat=0"
Dashboard
The main benefit of LavinMQ as mentioned is the Dashboard. It is so much cleaner and informative
RabbitMQ Dashboard
LavinMQ Dashboard
Others
Pausing message queues
Sometimes you quickly want to pause your messages because your server is overloaded or an unsuspected maintenance came up.
API Documentation
You have a great API documentation found here https://kebnekaise.lmq.cloudamqp.com/docs
CloudAMQP
You can test it easily with CloudAMQP for free (up to 2 Million messages per month) – which by the way is a great offer -> https://lavinmq.com/cloudamqp