← Back to team overview

openstack team mailing list archive

Re: RabbitMQ

 


On Tuesday, January 1, 2013 at 07:16 AM, Daniel He wrote:

> I also thought zeromq but we need some quantitative measure. Does
> anyone have tested zeromq already? thanks
> 
I've seen ZeroMQ based messaging running in multiple production OpenStack installations.

As the primary author of the zeromq messaging driver, my goal has been to achieve partition tolerance and high availability. Performance is not a primary motivator and is not something I have too deeply concerned myself with. I believe the pattern implemented by the zeromq driver should prove performant, but I also recognize that I have chosen not to prematurely optimize and there is room for improvement.

In terms of partition tolerance and high availability, I (perhaps biased) believe that ZeroMQ driver is superior to AMQP based messaging systems for the specific use-cases within Nova, Cinder, Glance, Quantum.  However, the complexities of supporting fanout and topic exchanges with ZeroMQ makes the driver the most difficult to configure in the short-term. For Nova, the configuration is actually quite basic, but for Quantum, the zeromq driver is currently impractical with upstream code. Specifically, considerable improvements must be made to the matchmaker modules, which involves host discovery for fanout and topic exchanges. The matchmaker is pluggable, so I hesitate to say what is out there now is wholly incapable of supporting Quantum, but we need something better upstream.

I'm seeking to make the driver configuration-free, hopefully within Grizzly, to make it the easiest out-of-the-box experience available within OpenStack. You wouldn't need a dedicated broker (or brokers), configuration of messaging hosts, usernames, or passwords. If successful, messaging will "just work" out of the box with ZeroMQ selected.

Regards,
Eric Windisch






References