[openstack-dev] [OSLO][RPC] AMQP / ZeroMQ control_exchange vs port numbers
Eric Windisch
eric at cloudscaling.com
Mon Apr 29 13:43:37 UTC 2013
> My I'm thinking of an exchange is simply that it's a namespace
> under which topics live:
>
>
The discussion we were having was that we should NOT expose the control_exchange in the API unless we also expose the queue connection mechanism. The reason is that the control_exchange is presently a point of clean sharding between projects.
Each unique value of control_exchange can be safely sharded to a separate broker or, in the case of ZeroMQ, to a separate rpc_zmq_port. This latter point is important because it feeds back into the ipc_dir discussion we had; Projects can have their own IPC directory if they run on their own rpc_zmq_port. Of course, sharding for RabbitMQ/Qpid might also be useful...
> I guess you could just prefix topics in the zmq driver with the exchange
> name.
Yes and no. I've already run into plenty of problems by modifying topic names. That is how we're in the trouble of period-deliminators breaking ZeroMQ for some use-cases in Grizzly (thankfully, not many). However, yes, I could put the control_exchange into the zmq message envelope, which is effectively what you're suggesting. The control_exchange will also need to be included in the IPC directory path.
Regards,
Eric Windisch
More information about the OpenStack-dev
mailing list