summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/cluster
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2010-10-26 19:57:26 +0000
committerAlan Conway <aconway@apache.org>2010-10-26 19:57:26 +0000
commit2f5e395d197c90e77f26672a13778d35bed2a6ec (patch)
tree1bbdc55c576c76c49bbb37568b37ea7224e73ea7 /qpid/cpp/src/qpid/cluster
parent6ae14220b28c5b647118bba56a93af92f0f413a4 (diff)
downloadqpid-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.txt7
-rw-r--r--qpid/cpp/src/qpid/cluster/new-cluster-design.txt7
-rw-r--r--qpid/cpp/src/qpid/cluster/new-cluster-plan.txt3
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.