Robert Godfrey wrote:
Hi Etienne,

Welcome to Qpid...

2009/2/20 Arnaud Simon <[email protected]>:
Hi Etienne,

Good to see that you have time to invest in Qpid.
It would be nice if you can sketch out a clustering proposal. Maybe Rob can
point you to the Java broker architecture documentation? Rob what's the
current status of the 0.10 Java broker? Do you believe Etienne can start
helping on clustering?


Sketching some ideas on clustering would be good...

There's a pretty complete clustering implementation in the C++ broker at this point. I'd like to be included on any Java cluster discussions so we can share ideas & experiences.

Start at http://cwiki.apache.org/qpid/clusteringha.html, the design note is a bit old but still mostly accurate.

The Big Idea behind the cluster design is to separate clustering from broker logic as much as possible by having the cluster regard the broker to a large extent as a "black box". The cluster's job is to sort all the frames arriving at all the nodes into a single ordered list (using virtual synchrony). Since every node then processes the same list in the same order, we get the same results everywhere.

There are some areas where this assumption doesn't hold: in c++ messages are dequeued according to the writability of outbound connections, and message TTL and producer flow control both involve decisions based on the local clock, which we can't assume is synced across the cluster. So cluster nodes multicast extra "control frames" to ensure that everybody agrees on the outcome of these kinds of indeterminate decisions. This involves some abstract classes into the broker code so the cluster can alter the behavior.


Cheers,
Alan.

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to