You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by LaRockstar <je...@gmail.com> on 2010/06/23 14:05:27 UTC

ActiveMQ Topology Question - possible?


Hi there,

I'm considering a distributed system of loosely coupled nodes organized in a
tree structure of depth 2 or 3 (including the root). I'm considering using
ActiveMQ/JMS as means of communicating between the tree nodes.

Within the tree the communication pattern between the nodes is as follows:

1) shared data published from the root node should be disseminated
(downwards) to all the child nodes?

2) the root node should be able to send data (downwards) to each individual
child node - again one level at a time.

3) each child node should be able to send data (upwards) to the root node -
one level at a time.

Can I model such a communication scheme with ActiveMQ/JMS?

The figure here illustrates what I would like to achieve; 1) the black
arrows representing the downwards publishing from the root to all the nodes,
2) the red arrows, indicating the downwards sending from the root to a
single node, and 3) the blue arrows, indicating the upwards sending from a
single child node to the root node.

http://old.nabble.com/file/p28970927/amq-tree.jpg 

Thanks.


-- 
View this message in context: http://old.nabble.com/ActiveMQ-Topology-Question---possible--tp28970927p28970927.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ Topology Question - possible?

Posted by LaRockstar <je...@gmail.com>.

Joe Fernandez wrote:
> 
> Why would you need to pass around the static information? The brokers that
> comprise your independent branches of the tree will forward messages
> through those branches. 
> 

Well, if I want to configure my node as a tree structure, yet use a
discovery mechanism -- If I use the built-in multicast discovery mechanism,
I will get a mesh structure, as you say. So, what I'm saying is that if I
use an external discovery mechanism, pass between the nodes the IP addresses
of the various nodes, and then instruct the nodes to connect in a tree
structure .. This is what I meant. Makes sense?


Joe Fernandez wrote:
> 
> The T1 topic will be viewed as one, but make sure you configure forwarding
> bridges between the two brokers. 
> 

Ok .. will look into this. 

btw. for the issues I'm addressing here, do you know of any good literature
about activemq that I could read?

Thanks!
-- 
View this message in context: http://old.nabble.com/ActiveMQ-Topology-Question---possible--tp28970927p28979374.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ Topology Question - possible?

Posted by Joe Fernandez <jo...@ttmsolutions.com>.


LaRockstar wrote:
> 
> 
> Hi Joe,
> 
> Thanks for you answer ...
> 
> 
> Joe Fernandez wrote:
>> 
>> If you use the discovery agent across all your brokers, the result will
>> be a full mesh, and not tree, topology. In other words, all the brokers
>> will be interconnected. 
>> 
> 
> Ok, so I guess that I have to rely on a static configuration, and possibly
> use an external discovery mechanism to pass around this static information
> ..
> 
> Why would you need to pass around the static information? The brokers that
> comprise your independent branches of the tree will forward messages
> through those branches. 
> 
> 
> 
> Joe Fernandez wrote:
>> 
>> You do not have to explicitly create the queues at the brokers. They will
>> be dynamically created on-demand. 
>> 
> 
> Question: Assume two brokers B1 and B2 start up; they are configured to
> share queues/topics .. At the time that they both start up, they cannot
> communicate due to network partitioning ... Now, two clients C1 and C2
> connect to the brokers, C1 to B1, and C2 to B2. They both create a topic
> "T1" on each broker. Once the network is up and running again and B1 and
> B2 can communicate again, will the brokers be "smart" enough to merge
> these two T1 topic instances, or will B1 and B2 see the two T1 topics as
> different?
> 
> The T1 topic will be viewed as one, but make sure you configure forwarding
> bridges between the two brokers. 
> 
> Thanks!
> 
> 

-- 
View this message in context: http://old.nabble.com/ActiveMQ-Topology-Question---possible--tp28970927p28973621.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ Topology Question - possible?

Posted by LaRockstar <je...@gmail.com>.

Hi Joe,

Thanks for you answer ...


Joe Fernandez wrote:
> 
> If you use the discovery agent across all your brokers, the result will be
> a full mesh, and not tree, topology. In other words, all the brokers will
> be interconnected. 
> 

Ok, so I guess that I have to rely on a static configuration, and possibly
use an external discovery mechanism to pass around this static information
..


Joe Fernandez wrote:
> 
> You do not have to explicitly create the queues at the brokers. They will
> be dynamically created on-demand. 
> 

Question: Assume two brokers B1 and B2 start up; they are configured to
share queues/topics .. At the time that they both start up, they cannot
communicate due to network partitioning ... Now, two clients C1 and C2
connect to the brokers, C1 to B1, and C2 to B2. They both create a topic
"T1" on each broker. Once the network is up and running again and B1 and B2
can communicate again, will the brokers be "smart" enough to merge these two
T1 topic instances, or will B1 and B2 see the two T1 topics as different?

Thanks!

-- 
View this message in context: http://old.nabble.com/ActiveMQ-Topology-Question---possible--tp28970927p28972639.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ Topology Question - possible?

Posted by Joe Fernandez <jo...@ttmsolutions.com>.
If you use the discovery agent across all your brokers, the result will be a
full mesh, and not tree, topology. In other words, all the brokers will be
interconnected. 

You do not have to explicitly create the queues at the brokers. They will be
dynamically created on-demand. 

Joe
http://www.ttmsolutions.com
ActiveMQ Ref Guide - http://bit.ly/AMQRefGuide


LaRockstar wrote:
> 
> Hi there,
> 
> I'm considering a distributed system of loosely coupled nodes organized in
> a tree structure of depth 2 or 3 (including the root). I'm considering
> using ActiveMQ/JMS as means of communicating between the tree nodes.
> 
> Within the tree the communication pattern between the nodes is as follows:
> 
> 1) shared data published from the root node should be disseminated
> (downwards) to all the child nodes?
> 
> 2) the root node should be able to send data (downwards) to each
> individual child node - again one level at a time.
> 
> 3) each child node should be able to send data (upwards) to the root node
> - one level at a time.
> 
> When saying 'node', I basically mean a broker to which JMS clients can
> connect (clients not considered here).
> 
> The figure here illustrates what I would like to achieve (with 7 nodes in
> this example); 1) the black arrows representing the downwards publishing
> from the root to all the nodes, 2) the red arrows, indicating the
> downwards sending from the root to a single node, and 3) the blue arrows,
> indicating the upwards sending from a single child node to the root node. 
> 
>  http://old.nabble.com/file/p28970927/amq-tree.jpg 
> 
> 
> Can I model such a communication scheme with ActiveMQ/JMS? Should bridges
> between the brokers be uni- or bidirectional? It is not clear to me if I
> have to explicitly create the topics/queues on each node/broker, or if
> this is done implicitly upon bridging together the brokers?
> 
> I was thinking about using multicasting for discovery and setting up of
> the tree structure. Is there anything that would prevent this from being
> possible?
> 
> 
> Thanks.
> 
> 
> 

-- 
View this message in context: http://old.nabble.com/ActiveMQ-Topology-Question---possible--tp28970927p28971659.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.