diff options
author | Alan Conway <aconway@apache.org> | 2010-10-26 19:57:26 +0000 |
---|---|---|
committer | Alan Conway <aconway@apache.org> | 2010-10-26 19:57:26 +0000 |
commit | 2f5e395d197c90e77f26672a13778d35bed2a6ec (patch) | |
tree | 1bbdc55c576c76c49bbb37568b37ea7224e73ea7 /qpid/cpp/src/qpid/cluster | |
parent | 6ae14220b28c5b647118bba56a93af92f0f413a4 (diff) | |
download | qpid-python-2f5e395d197c90e77f26672a13778d35bed2a6ec.tar.gz |
Updates to new cluster design docs regarding active-passive mode.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1027714 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src/qpid/cluster')
-rw-r--r-- | qpid/cpp/src/qpid/cluster/new-cluster-active-passive.txt | 7 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/new-cluster-design.txt | 7 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/cluster/new-cluster-plan.txt | 3 |
3 files changed, 14 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/cluster/new-cluster-active-passive.txt b/qpid/cpp/src/qpid/cluster/new-cluster-active-passive.txt index 56618da83c..505cb18239 100644 --- a/qpid/cpp/src/qpid/cluster/new-cluster-active-passive.txt +++ b/qpid/cpp/src/qpid/cluster/new-cluster-active-passive.txt @@ -1,6 +1,10 @@ -*-org-*- * Active/passive cluster implementation +The active-active cluster can be used in an active-passive mode. In +this mode we would like the cluster to be as efficient as a strictly +active-passive implementation. + An active/passive implementation requires a subset of the active/active approach: - drop Queue ownership and locking - replicate subset of Cluster interface, don't need to know all message disposition. @@ -18,8 +22,7 @@ Simpler implementation of broker::Cluster: Extra requirements: - Passive members refuse client connections and redirect to active member. - Choose new active member when the active dies. - -Question: How best to direct clients to the correct node after failover? +- On failover, clients keep trying till they find the active member. ** Active/active vs. active passive diff --git a/qpid/cpp/src/qpid/cluster/new-cluster-design.txt b/qpid/cpp/src/qpid/cluster/new-cluster-design.txt index abbbcd616c..e19363f22f 100644 --- a/qpid/cpp/src/qpid/cluster/new-cluster-design.txt +++ b/qpid/cpp/src/qpid/cluster/new-cluster-design.txt @@ -326,6 +326,13 @@ queue replication', allowing such replication (over a TCP connection on a WAN say) to be initiated after the queue had already been created and been in use (one of the key missing features). +** Optimizing the active-passive special case. + +In the case where all consumers of a queue are on the same broker, we +can get better performance because we don't need to transfer ownership +or information about acquisition. We need to optimize this case to +perform like an active-passive mode of replication. + ** Misc outstanding issues & notes Replicating wiring diff --git a/qpid/cpp/src/qpid/cluster/new-cluster-plan.txt b/qpid/cpp/src/qpid/cluster/new-cluster-plan.txt index 4eeb030b1a..f87c4d249b 100644 --- a/qpid/cpp/src/qpid/cluster/new-cluster-plan.txt +++ b/qpid/cpp/src/qpid/cluster/new-cluster-plan.txt @@ -10,7 +10,8 @@ Co-existence with old cluster code and tests: Minimal POC for message delivery & perf test. - no wiring replication, no updates, no failover, no persistence, no async completion. - just implement publish and acquire/dequeue locking protocol. -- measure performance. +- optimize the special case where all consumers are on the same node. +- measure performance: compare active-passive and active-active modes of use. Full implementation of transient cluster - Update (based on existing update), async completion etc. |