Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Looking for message broker with a REST API

We would like to provide queues as a service (similar to Amazon SQS) for any application that requires it inside the company.

Before reinventing the wheel we're looking some product that complies with:

  • Scales horizontally
  • High availability over performance
  • Simple queue REST API (publish, deque, ack, nack) over advanced features

Backgrounds: We use mainly Java/Groovy and we have experience in RabbitMQ and ActiveMQ but we are open to any product/language.

I'd appreciate any experience, product or broker adapter suggestion.

like image 826
pablomolnar Avatar asked Nov 14 '22 09:11

pablomolnar


1 Answers

First a disclaimer - My experience is around SonicMQ, ActiveMQ, and TibcoRV. I saw your question as an opportunity to spend some time investigating what RabbitMQ has to offer, which I have not used in anger to date.

Here's some information (propaganda?) I came across for RabbitMQ...

  • Scales horizontally (http://www.rabbitmq.com/distributed.html)
  • Tries hard for high availability (http://www.rabbitmq.com/ha.html)
  • Has an experimental plugin called rabbitmq-json-rpc-channel that allows you to send AMQP as JSON over HTTP that might meet your REST API requirements https://github.com/rabbitmq/rabbitmq-jsonrpc-channel. Depends what you really mean by REST though.

If I were in your position, I would spend some time and "spike" out a solution using ActiveMQ (as pointed out already by @SirRichie in comments above, it seems to also meet your requirements). I would also do the same for RabbitMQ. Try and time-box each of them to a few days and see what you find out!

Seems you already have some experience with RabbitMQ, and you might already know all this. Apologies if so.

P.S. You could also use Amazon SQS. :)

like image 122
djb Avatar answered Dec 06 '22 20:12

djb