Following Thomas' advice yesterday I experimented with RabbitMQ to fulfil
my desire for a suite of applications to broadcast events to each other.


   - There is an (unobtrusive) install of 296MB of the Erlang runtime on
   the server.
   - The MQ server out-of-the-box has security locked down to localhost
   only.
   - The quite pleasant web based management tool which adjusts security is
   disabled by default and you have reads the online docs carefully to find
   the command line tool to activate the web tool.
   - You must learn to look for vital client side error clues deep in
   nested Exceptions.
   - You must also learn to look for error details in obscure server side
   logs.
   - RabbitMQ seems to be fully featured and industrial strength as
   advertised.
   - The .NET client library API is huge and you can be confused by too
   much choice and many overloads.
   - The documentation is just acceptable. It took me a couple of hours to
   find out how to roundtrip "out of band" information with messages.
   - The higher-level client API does not expose any asynch methods of any
   kind, just a blocking method to receive incoming messages. This results in
   ugly clumsy code. I had to create one long-lived Thread to send and another
   to receive, and I still haven't figured out gracefully close the receiver.

So overall, like all large libraries, it's a bit quirky and it's LARGE. For
me, I felt like I had installed a vast intercontinental railway system just
to deliver some postcards. I'm going to write this off as overkill for now,
but at least I know it's available. I didn't get time to play with
competitor ZeroMQ.

*Greg K*

Reply via email to