23

I've been using RabbitMQ in a few setups now, and I can't shake the feeling that there must be something that's more easily set up. Despite it's conveniences it's hard to justify MQ for a solution that only processes a couple of thousand messages a day, simply because maintaining RabbitMQ is so much work.

Does anyone know an AMQP implementation with a simple installation and maintenance process?

For those who don't know it, RabbitMQ is an AMQP implementation written in Erlang. It is supposed to be very stable, but that is only really the case if you know enough about Erlang to avoid its problems. Whether it's memory limits or changes in the hostname, there is always a need to get deeper into it.

PeeHaa
  • 71,436
  • 58
  • 190
  • 262
lyschoening
  • 18,170
  • 11
  • 44
  • 54
  • 1
    If you're hitting memory limits, you're doing a *lot* more than "a couple of thousand messages a day". If you change the hostname, yeah that'll effectively disable the mnesia database. On the other hand, it normally uses 13 Mb of RAM, so it has pretty low requirements, and the installation is usually a Deb, RPM or MSI. Since you already seem to have hit the common problems, RabbitMQ is still probably your best bet. – scvalex Aug 01 '11 at 10:11
  • By memory limits I am referring to the default memory limit _setting_ in Erlang. I've had problems when too many messages queued up when a consumer died on me because the default process limit is tiny, I've had problems due to outside network name changes, as well as a fair share of crashes I could not possibly track down without a deeper understanding of Erlang. Erlang's sophisticated multiprocessing environment need too much learning and maintenance for casual use. – lyschoening Sep 10 '11 at 12:46
  • @lyschoening Hello, I am curious to know if you decided to use replace RabbitMq with Qpid or something else entirely? Cheers – CaptainHastings Apr 02 '13 at 18:20
  • In case people wonder, —I ended up deciding I did not need AMQP for my application and have used Redis and 0MQ since. – lyschoening May 22 '14 at 19:26

3 Answers3

10

http://www.zeromq.org/ might be what you are looking for. If you are on Windows you might use MSMQ

EDIT: I guess I missed the AMQP part of the question.

wonea
  • 4,783
  • 17
  • 86
  • 139
Yavor Shahpasov
  • 1,453
  • 1
  • 12
  • 19
  • Is 0MQ AMQP compliant? I think the OP wants an AMQP broker. – David Dossot Aug 03 '11 at 21:15
  • 4
    0MQ isn't AMQP. It uses it's own wire format and doesn't have high-level concepts such as queues, exchanges, etc. IIRC, it's also peer-to-peer for the most part (i.e. any peer is a server, unlike AMQP where clients and brokers are two different things entirely). There's also a RabbitMQ plugin that allows it to talk to 0MQ clients; so, if OP wants a lightweight clients and is fine with an AMQP broker, that's an option (though, probably not a good one). – scvalex Aug 04 '11 at 13:19
  • MSMQ doesn't support receiving messages through the internet at all, so almost the only real use case that I can see is for applications running on the same machine. See http://stackoverflow.com/q/19156136/3136474 for more details on it. – Dinei Jan 13 '16 at 12:21
2

ActiveMQ seems to be good alternative, I was using RabbitMQ to set up "cluster" over WAN, which is not supported by RabbitMQ cluster, since it requires all machines within same location.

It seems ActiveMQ is better than RabbitMQ, in the sense that it is easy to set up and maintenance, for "cluster"

wonea
  • 4,783
  • 17
  • 86
  • 139
user3527917
  • 327
  • 2
  • 10
  • 22
0

Apache Qpid is another open source AMQP broker: http://qpid.apache.org/

Disclaimer: I haven't used it myself so I can't tell you how it compares to RabbitMQ.

David Dossot
  • 33,403
  • 4
  • 38
  • 72
  • 2
    It's more heavy-weight than RabbitMQ. QPid is usually the way to go if you have a lot of legacy enterprise code lying around and just want to tie it into AMQP. – scvalex Aug 04 '11 at 13:15
  • RabbitMQ, on the other hand, has few language bindings compared ot Qpid. – Maxim Egorushkin Feb 03 '12 at 10:13
  • 1
    All AMQP clients that work with RabbitMQ should, presumably, work with Qpid, so language bindings should not be a problem. – minaev Apr 02 '12 at 08:17