You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Hadrian Zbarcea <hz...@gmail.com> on 2014/10/29 16:55:57 UTC

Re: ActiveMQ on unreliable mesh networks?

Yes, it can. I implemented something similar. When connections are 
restored the messages get processed.
That's the short answer.

Hadrian


On 05/11/2014 07:23 AM, Frank Gevaerts wrote:
> Hello,
>
> I need to build a system with a number of hosts connected through an
> unreliable mesh network where the hosts are physically moving, i.e.
> all connections are expected to drop regularly, and hosts that used
> to be one hop apart might suddenly be three hops apart or not connected
> at all.
> The network might occasionally be split in such a way that two sets of
> hosts never see each other directly, but one (or more) hosts are more
> mobile and move between sets, and could therefore store and forward
> messages.
>
> All hosts need to (eventually) get data from all other hosts, and can't
> lose data. Can activemq handle such a setup?
>
> Frank
>


Re: ActiveMQ on unreliable mesh networks?

Posted by Tim Bain <tb...@alumni.duke.edu>.
One thing that might be a concern for you is the possibility of a message
on broker A going to B because B has a connection to C, but that connection
is dropped before B can forward the message to C.  If I has another route
to C (e.g. through D) but B doesn't have any other route there, then the
message might get stranded on B (because it's not allowed to be routed back
through a broker - A - that it's already been through) until the B-C
connection is re-established.  So you'll eventually get the message
delivered, but it might take a long time even though a (very circuitous)
path exists from B to C.  If that's a concern for you, look at the Stuck
Messages section of http://activemq.apache.org/networks-of-brokers.html for
a solution along with some caveats.

Broker topology illustration for my example (X is your disconnected link):
     B
   /    X
A        C
   \    /
     D

On Wed, Oct 29, 2014 at 9:55 AM, Hadrian Zbarcea <hz...@gmail.com> wrote:

> Yes, it can. I implemented something similar. When connections are
> restored the messages get processed.
> That's the short answer.
>
> Hadrian
>
>
> On 05/11/2014 07:23 AM, Frank Gevaerts wrote:
>
>> Hello,
>>
>> I need to build a system with a number of hosts connected through an
>> unreliable mesh network where the hosts are physically moving, i.e.
>> all connections are expected to drop regularly, and hosts that used
>> to be one hop apart might suddenly be three hops apart or not connected
>> at all.
>> The network might occasionally be split in such a way that two sets of
>> hosts never see each other directly, but one (or more) hosts are more
>> mobile and move between sets, and could therefore store and forward
>> messages.
>>
>> All hosts need to (eventually) get data from all other hosts, and can't
>> lose data. Can activemq handle such a setup?
>>
>> Frank
>>
>>
>