[rabbitmq-discuss] RabbitMQ scaling with OpenStack

Ray Pekowski pekowski at gmail.com
Tue Feb 5 17:50:53 GMT 2013


Ask Solem-3 wrote
>> On Jan 22, 2013, at 1:58 PM, Ask Solem 
> <ask at rabbitmq.com>
>  wrote:
> 
> I've spent some time reviewing the code, but it's really hard to follow,
> and it's
> reinventing a lot of things that Kombu already supports.   Having two sets
> of
> implementations means that we both have to debug and maintain it, this
> code could
> definitely be reduced by a lot.

Thank you for taking the time to review the code.  Yes, it is confusing and
perhaps impossible to fully understand without also reading amqp.py
(https://github.com/openstack/nova/blob/master/nova/openstack/common/rpc/amqp.py),
which is a common module between the kombu and Qpid implementations for
OpenStack.


Ask Solem-3 wrote
> One thing that I'm unable to understand is whether it's creating a channel
> or not
> (other than the Connection.default_channel), and if so if it creates a
> channel for
> every request.  This would be bad since creating channels is very
> expensive (at least in amqplib/py-amqp).

It does not create a new channel on each request.  The channel object is
held in a impl_kombu.Connection class instance and instances of
impl_kombu.Connection are pooled.  You can find the pool implementation in
amqp.py that I mentioned earlier.


Ask Solem-3 wrote
> Also, it seems that the reply messages are persistent, do they have to be?

The reply messages are RPC replies are implemented in the DirectPublisher
class which has {'durable': False} for its exchange and queue options.  The
RPC call is done via the TopicPublisher class and it has the durable option
that defaults to False, but can be overridden using a OpenStack nova.conf
file configuration setting.

BTW, one of the questions that has come up is whether it makes sense for the
RPC reply queues to mirrored.  Is HA generally thought of as important for
RPC replies?  I just am not sure.  Our current implementation has mirroring
turned off for reply queues, but we are trying to figure out if that was
just an oversight.

Ray








--
View this message in context: http://rabbitmq.1065348.n5.nabble.com/RabbitMQ-scaling-with-OpenStack-tp24646p24874.html
Sent from the RabbitMQ mailing list archive at Nabble.com.


More information about the rabbitmq-discuss mailing list