[rabbitmq-discuss] Beginner Question.

Michael Klishin mklishin at gopivotal.com
Wed Mar 12 06:05:39 GMT 2014

On 12 Mar 2014, at 09:54, ratheesh kannoth <ratheesh.ksz at gmail.com> wrote:

> 1. So client A using rabbitmq library  makes a connection to Broker C
> over tcp/ip and request for xchange and queue. Is my understanding
> correct ?

Correct. Publishers can choose to only declare an exchange and publish,
with consumers declaring queues and doing the binding they need.

> 2. If client A crashes, messages reliablility   is guranteed by Broker
> C.   Durability will ensure messages are kept during broker restart.
> How can we guarantee messages are retained upon a crash ( not a
> graceful shutdown ) of a broker.
>   my use case here :  Suppose I  have
> 10 nodes connected on a lan. These nodes need to send messages to
> each other. So i need to run broker ( rabbitmq server ) on one node.
> I don't have budget to run one node dedicated to broker ; so i will
> run some of my applications also on that node. These applications may
> crash the broker node ( can make  the node reboot  ).  what is the
> solution here ?

Use durable queues and publish messages as persistent. Make sure your
apps can recover (reconnect, open new channels, possibly re-declare
exchanges/queues/bindings/consumers needed) from RabbitMQ node

Running RabbitMQ alongside an app is generally fine, just make sure there
is no heavy contention for system resources (CPU, RAM, disk and network I/O)
and that other apps can connect to the node.

> 3. How is rabbitmq C is  well tested ? or it is in development phase.
> I could see a lot of examples on java etc. But in C , it is limited.?

librabbitmq-c has been around for a while. It is much more low level than
the Java client and is not officially supported but maintained by a community member


Software Engineer, Pivotal/RabbitMQ

More information about the rabbitmq-discuss mailing list