[rabbitmq-discuss] Beginner Question.
Michael Klishin
mklishin at gopivotal.com
Wed Mar 12 08:44:56 GMT 2014
On 12 March 2014 at 12:39:35, ratheesh kannoth (ratheesh.ksz at gmail.com) wrote:
> > I understand that RabbitMq-C client should be compiled to create
> a
> dynamic library and can call library api
> from my application. Is this same with MQTT and STOMP ?. They are
> also dynamic libraries ? and work same as rabbitMq-C client ?
I’m not a C expert but I believe you can compile a static binary
that includes librabbitmq-c or, say, MQTT C client.
>
> I could see below snippet at https://github.com/alanxz/rabbitmq-c.
> "You cannot share a socket, an amqp_connection_state_t, or
> a channel
> between threads using librabbitmq. The librabbitmq library
> is built
> with event-driven, single-threaded applications in mind,
> and does not
> yet cater to any of the requirements of pthreaded applications."
> This is case with any other client ...right ?
Not necessarily: it’s a library design choice.
> http://www.rabbitmq.com/tutorials/amqp-concepts.html
> discuss about
> clustering , and load balancing using scheduler running on different
> CPU. These are already implemented in Rabbimq. right ?
I don’t see any mentions of schedulers or multiple CPUs in the article. Load balancing
there means "between consumers on a shared queue”.
Obviously all the features listed in the docs are implemented in RabbitMQ.
While not mentioned in the protocol overview, RabbitMQ happens to run on a runtime
that offers very good multicore scalability as long as you use multiple (say, a few
times more than the # of cores available) queues and not a single giant queue.
HTH.
--
MK
Software Engineer, Pivotal/RabbitMQ
More information about the rabbitmq-discuss
mailing list