Difference between revisions of "Nova/ZeroMQIntegrationSpec"
m (Text replace - "__NOTOC__" to "") |
|||
Line 1: | Line 1: | ||
− | + | ||
* '''Launchpad Entry''': [[NovaSpec]]:zeromq-rpc-driver | * '''Launchpad Entry''': [[NovaSpec]]:zeromq-rpc-driver | ||
* '''Created''': 05 Aug 2011 | * '''Created''': 05 Aug 2011 |
Revision as of 23:30, 17 February 2013
- Launchpad Entry: NovaSpec:zeromq-rpc-driver
- Created: 05 Aug 2011
- Contributors: Zed Shaw, Duncan McGreggor, Eric Windisch, Joe Gordon
Contents
Summary
Now that there is a clean abstraction for different RPC drivers, we need to implement a few alternatives. The first proposed additional RPC driver will be one to work against a ZeroMQ based server that can replace RabbitMQ. We have an initial working prototype of this which establishes the proof of concept. We need to take what we've learned with that and architect a full solution.
The ZeroMQ client will faithfully replicate the way the RabbitMQ semantics work for the client, but they'll speak to a different server. The initial cut of the server will be *very* simple and *not* for production. A subsequent blueprint can then turn into a small server for this purpose based on the initial prototype.
Release Note
This change should not impact any users, but rather provide a working example of a ZeroMQ-powered OpenStack.
Rationale
There are operators who prefer ZeroMQ to RabbitMQ for messaging solutions (and for a general concurrency framework). Those of us involved in this effort are numbered among them.
User stories
TBD
Assumptions
TBD
Design
TBD
Implementation
TBD
Test/Demo Plan
TBD
Unresolved issues
TBD
BoF agenda and discussion
TBD
References
- http://nova.openstack.org/devref/rabbit.html
- The commit that generalized the RPC interface in Nova
- https://github.com/openstack/nova/blob/master/nova/rpc/init.py
- https://github.com/openstack/nova/blob/master/nova/rpc/impl_kombu.py
- https://github.com/openstack/nova/blob/master/nova/rpc/impl_carrot.py