Difference between revisions of "RabbitmqHA"
Line 11: | Line 11: | ||
== Release Note == | == Release Note == | ||
− | Austin release of Nova RPC mappings deals with intermittent network connectivity only. In order to support RabbitMQ clusters and active/passive brokers, more advanced Nova RPC mappings need to be provided such as strategies to deal with | + | Austin release of Nova RPC mappings deals with intermittent network connectivity only. In order to support RabbitMQ clusters and active/passive brokers, more advanced Nova RPC mappings need to be provided, such as strategies to deal with failures of nodes holding queues within clusters and/or master/slave failover for active/passive replication. |
== Rationale == | == Rationale == | ||
Line 24: | Line 24: | ||
== Design == | == Design == | ||
− | |||
− | |||
== Implementation == | == Implementation == | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Code Changes === | === Code Changes === | ||
Code changes should include an overview of what needs to change, and in some cases even the specific details. | Code changes should include an overview of what needs to change, and in some cases even the specific details. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
---- | ---- | ||
[[Category:Spec]] | [[Category:Spec]] |
Revision as of 15:52, 19 October 2010
- Launchpad Entry: NovaSpec:tbd
- Created: 19 October 2010
- Last updated: 19 October 2010
- Contributors: Armando Migliaccio
Summary
This specification covers how Nova supports RabbitMQ configurations like clustering and active/passive replication.
Release Note
Austin release of Nova RPC mappings deals with intermittent network connectivity only. In order to support RabbitMQ clusters and active/passive brokers, more advanced Nova RPC mappings need to be provided, such as strategies to deal with failures of nodes holding queues within clusters and/or master/slave failover for active/passive replication.
Rationale
Currently Nova RPC implementation deals with intermittent network connectivity, i.e. if the connection between a RabbitMQ server and a Nova component (e.g. scheduler, API or compute) drops, the RabbitMQ client adapter tries to recover from it. On the other hand, RabbitMQ provides solutions like clustering and active/passive replication for a greater deal of scalability and reliability. If these
However, RabbitMQ clustering and active/passive replication may provide a greater deal of scalability and/or fault-tolerance, but support must be provided by the Nova RPC make sure that proper fail-over strategies are implemented
User stories
Assumptions
Design
Implementation
Code Changes
Code changes should include an overview of what needs to change, and in some cases even the specific details.