🎄 Happy Holidays! 🥳
Most of Solace is closed December 24–January 1 so our employees can spend time with their families. We will re-open Thursday, January 2, 2024. Please expect slower response times during this period and open a support ticket for anything needing immediate assistance.
Happy Holidays!
Please note: most of Solace is closed December 25–January 2, and will re-open Tuesday, January 3, 2023.
Connecting RabbitMQ to Solace
Does Solace provide some kind of connector to read (subscribe) the (AMQP) messages from a RabbitMQ broker and publish them to Solace broker? (Analogous to Kafka Connect).
If I'm publishing the messages to a RabbitMQ and want these messages to be published to Solace from RabbitMQ, is there a solution from Solace or do I have to write a custom connector reading from Rabbit and publishing to Solace?
Best Answer
-
You can transparently connect Solace with RabbitMQ using the Rabbit MQ shovel plugin. You will also need the RabbitMQ AMQP1.0 plugin installed as well. You can then easily configure a shovel to consume message from Solace over AMQP 1.0 and you can create another shovel to push messages from Rabbit (0.9 or 1.0) to Solace over AMQP 1.0. It is simple to configure and shows pretty good performance as well.
Once the message is in the Solace Broker from Rabbit it is available for consumption by any of the Solace natively supported Transports, languages and/or APIs. Any message that is sent to Solace from any of the supported APIs, languages or transports will also be properly moved to Rabbit over AMQP via the RabbitMQ shovel.
In this case there is no need for connectors or adapters, it is just the the setup of the RabbitMQ Shovel plugin that can be done via the RabbitMQ GUI.
10
Answers
-
Hi Virat,
Solace doesn't have a connector for RabbitMQ like they do for Kafka.I looked at the AMQP and MQTT plugins for RabbitMQ.
Those plugins both provide the server implementation of the protocols, for connecting to clients.
Solace provides a server implementation as well, so those plugins can't talk directly to Solace PubSub+ Broker.So, yes, as far I can tell, you would need to implement a connector.
I am told that JMS over AMQP 1.0 might be the easiest to implement on the Solace side.
JMS is more consistent in what metadata you have to deal with, compared to various AMQP and MQTT implementations.Solace offers tutorials for JMS over AMQP 1.0.
I am sorry I can't be more help.
Rob1 -
You can transparently connect Solace with RabbitMQ using the Rabbit MQ shovel plugin. You will also need the RabbitMQ AMQP1.0 plugin installed as well. You can then easily configure a shovel to consume message from Solace over AMQP 1.0 and you can create another shovel to push messages from Rabbit (0.9 or 1.0) to Solace over AMQP 1.0. It is simple to configure and shows pretty good performance as well.
Once the message is in the Solace Broker from Rabbit it is available for consumption by any of the Solace natively supported Transports, languages and/or APIs. Any message that is sent to Solace from any of the supported APIs, languages or transports will also be properly moved to Rabbit over AMQP via the RabbitMQ shovel.
In this case there is no need for connectors or adapters, it is just the the setup of the RabbitMQ Shovel plugin that can be done via the RabbitMQ GUI.
10 -
As far as I know, that's still the only way. Rabbit's AMQP (0.9.1) is not standard, they shouldn't even call it AMQP since it's completely incompatible with the 1.0 standard. It should be called RabbitMQP or something. haha
Maybe in the future Solace might eventually build a 0.9.1 bridge to Rabbit, like we're doing with the Kafka protocol (not a standard either), but I haven't heard anything yet.
0