« Return to Thread: Getting Durable Messages After Failover

Re: Getting Durable Messages After Failover

by DCMH :: Rate this Message:

Reply to Author | View in Thread

Thanks for answering.

But my problem is that the 2 brokers are up and running,

scenario as below:


                   A                    B                 C                          
broker 1   ----+--------                                      -------------

broker 2                                           ----+------


Client connects to broker 1 and consume message A and disconnected before unsubscription, message B is published before the client reconnects. Later the client reconnect to broker 2 using the failover protocol. However, it was unable to resume the session established in broker 1 so it cannot consume message B as it was delivered to broker 1. While the client is connecting to broker 2, message C is published and the client is able to consume message C. However, it seems that the session established in broker 1 is still valid and broker 1 still get message C.

Later, the client get disconnected again and reconnects to broker 1 using the failover protocol, it gets message B and C from broker 1.

There are 2 potential problems:
1) the client will not be able to get message B if it keeps connecting to broker 2 after the first reconnection.
2) the client gets a duplication of message C when it connects to broker 1 after the second reconnection.


I have no idea on how to make use of the Replicated Message Stores in this case since both broker 1 and broker 2 are up and running at the same time (working in a cluster, instead of Master-Slave).

Would you mind to explain in more details?

Much appreciated for your help.




You need to replicate the messages between the two brokers.
See http://activemq.apache.org/clustering.html and look for "Master Slave" or "Replicated Message Stores"

--
Open Source Integration
http://fusesource.com

 « Return to Thread: Getting Durable Messages After Failover