[openstack-dev] RabbitMQ Scaling

Ray Pekowski pekowski at gmail.com
Wed Nov 14 00:25:05 UTC 2012


On Tue, Nov 13, 2012 at 6:22 PM, Ray Pekowski <pekowski at gmail.com> wrote:

> On Tue, Nov 13, 2012 at 1:06 PM, Russell Bryant <rbryant at redhat.com>wrote:
>
>> On 11/13/2012 01:24 PM, Vishvananda Ishaya wrote:
>> >
>> > On Nov 13, 2012, at 10:14 AM, Ray Pekowski <pekowski at gmail.com
>> > <mailto:pekowski at gmail.com>> wrote:
>> >>
>> >> My question is whether anyone thinks it is a worthwhile effort to
>> >> investigate code changes to the Openstack RPC that would make the RPC
>> >> responses flow on static exchanges and queues?
>> >>
>> >
>> > Yes I think this is worthwhile. A few people have tried this out and
>> > there doesn't seem to be any reason why this wouldn't work. This should
>> > be done in oslo-incubator (formerly openstack-common)
>>
>> The dynamic creation is of *queues*, right?  Not of exchanges and queues
>> as specified before?  It only seems valuable to have dynamic queues for
>> responses, which I'm pretty sure is how it works.
>>
>
> I don't know for sure if exchanges are being created or not, but here is
> the output from a kombu log an RPC and you will see an exchange_declare on
> the cleint and server side for e8e85bf237944223994eecd283a582da.
>
>
Oops, copy paste didn't work for those first logs.  Here are the right ones:

RPC Client:

[Kombu connection:0x2fbce10] establishing connection...
[Kombu connection:0x2fbce10] connection established:
<kombu.transport.pyamqplib.Connection object at 0x318a290>
[Kombu connection:0x2fbce10] create channel
[Kombu channel:1] exchange_declare(nowait=False,
exchange='e8e85bf237944223994eecd283a582da', durable=False, arguments=None,
type='direct', auto_delete=True)
[Kombu channel:1] queue_declare(exclusive=True, nowait=False,
durable=False, queue='e8e85bf237944223994eecd283a582da', arguments=None,
passive=False, auto_delete=True)
[Kombu channel:1] queue_bind(queue='e8e85bf237944223994eecd283a582da',
exchange='e8e85bf237944223994eecd283a582da', nowait=False,
routing_key='e8e85bf237944223994eecd283a582da', arguments=None)
[Kombu channel:1] exchange_declare(nowait=False, exchange='nova',
durable=False, arguments=None, type='topic', auto_delete=False)
[Kombu channel:1] prepare_message('{"_context_roles": [], "_msg_id":
"e8e85bf237944223994eecd283a582da", "_context_quota_class": null,
"_context_request_id": "req-889602cb-60dc-42f5-b7fd-107412e059c7",
"_context_service_catalog": null, "args": {"req_args": <MY DATA DELETED FOR
SPACE>}, "_context_auth_token": null, "_context_user_id": null,
"_context_project_name": null, "_context_read_deleted": "no",
"_context_instance_lock_checked": false, "_context_is_admin": true,
"version": "2.0", "_context_project_id": null, "_context_timestamp":
"2012-11-13T23:53:24.985241", "_context_user_name": null, "method":
"nested_call_request", "_context_remote_address": null}', priority=0,
headers={}, properties={'delivery_mode': 2},
content_type='application/json', content_encoding='utf-8')
[Kombu channel:1] basic_publish(<amqplib.client_0_8.basic_message.Message
object at 0x31bc390>, mandatory=False, routing_key='perfsvc4',
immediate=False, exchange='nova')
[Kombu channel:1] basic_consume(queue='e8e85bf237944223994eecd283a582da',
consumer_tag='1', nowait=False, no_ack=False, callback=<function _callback
at 0x31bbf50>)
[Kombu channel:1]
message_to_python(<amqplib.client_0_8.basic_message.Message object at
0x31bc210>)
[Kombu channel:1]
message_to_python(<amqplib.client_0_8.basic_message.Message object at
0x31bc390>)
[Kombu channel:1] close()
[Kombu connection:0x2fbce10] create channel

RPC Server

[Kombu channel:1]
message_to_python(<amqplib.client_0_8.basic_message.Message object at
0x4be99d0>)
[Kombu connection:0x4a37d50] establishing connection...
[Kombu connection:0x4a37d50] connection established:
<kombu.transport.pyamqplib.Connection object at 0x4be1c10>
[Kombu connection:0x4a37d50] create channel
[Kombu channel:1] exchange_declare(nowait=False,
exchange=u'e8e85bf237944223994eecd283a582da', durable=False,
arguments=None, type='direct', auto_delete=True)
[Kombu channel:1] prepare_message('{"failure": null, "result": <MY DATA
DELETED FOR SPACE>}', priority=0, headers={}, properties={'delivery_mode':
2}, content_type='application/json', content_encoding='utf-8')
[Kombu channel:1] basic_publish(<amqplib.client_0_8.basic_message.Message
object at 0x4cb1550>, mandatory=False,
routing_key=u'e8e85bf237944223994eecd283a582da', immediate=False,
exchange=u'e8e85bf237944223994eecd283a582da')
[Kombu channel:1] close()
[Kombu connection:0x4a37d50] create channel
[Kombu channel:1] exchange_declare(nowait=False,
exchange=u'e8e85bf237944223994eecd283a582da', durable=False,
arguments=None, type='direct', auto_delete=True)
[Kombu channel:1] prepare_message('{"failure": null, "result": null,
"ending": true}', priority=0, headers={}, properties={'delivery_mode': 2},
content_type='application/json', content_encoding='utf-8')
[Kombu channel:1] basic_publish(<amqplib.client_0_8.basic_message.Message
object at 0x4cb1e90>, mandatory=False,
routing_key=u'e8e85bf237944223994eecd283a582da', immediate=False,
exchange=u'e8e85bf237944223994eecd283a582da')
[Kombu channel:1] close()
[Kombu connection:0x4a37d50] create channel

Ray
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20121113/2c2aee94/attachment.html>


More information about the OpenStack-dev mailing list