You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by danaR <ro...@yahoo.com> on 2013/10/31 07:08:46 UTC

ActiveMQ master/slave with load balancing problems

Hello,
We are using ActiveMQ 5.8.0 and In order to achieve both high availability
and load balancing, we tried to set up a configuration with a Host pair with
master/slave pairs (JDBC master/slave), as stated   here on fuse-source
<http://fusesource.com/docs/esb/4.3/amq_clustering/Failover-Combining.html>  
We have a one-directional network connector on each broker, that points
towards the other master/slave pair of brokers like this:
<networkConnectors>
    <networkConnector name="link-to-b"
uri="masterslave:(tcp://host1A:62626,tcp://host2A:62626)"/>
</networkConnectors>
 
After having some problems (losing messages or receiving duplicates when one
of the brokers fails), we found this post
http://tmielke.blogspot.ro/search/label/missing%20messages so now we also
have in the configuration, on the queues this policyEntry
 
<policyEntry queue=">" producerFlowControl="true" memoryLimit="200mb"
enableAudit="false" >
  <networkBridgeFilterFactory>
    <conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true" />
  <networkBridgeFilterFactory>
<policyEntry>
 
and this transport connector
 
<transportConnectors>
  <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"
auditNetworkProducers="true" />
</transportConnectors>
 
However, the problem still persists. Sometimes we receive duplicates and
sometimes messages are lost when we force a failover (we stop one broker
during a test). Our tests are very basic, one machine sends messages to a
queue while another machine consumes them from the same queue. The producers
and consumers connect to the broker cluster using the failover transport
where all 4 broker instances are specified.
For more information, here are links to our full configurations.
(the brokers are named like in the fuse-source link example)

A1:  http://pastebin.com/S6jMDtee <http://pastebin.com/S6jMDtee>  
B2:  http://pastebin.com/1UUpvKah <http://pastebin.com/1UUpvKah>  
A2:  http://pastebin.com/RUr6AvWy <http://pastebin.com/RUr6AvWy>  
B1:  http://pastebin.com/f6ipthEZ <http://pastebin.com/f6ipthEZ>  
 
Can anyone help with this? How can we configure activeMQ to have both high
availability and load balancing?

Thank you.



--
View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-master-slave-with-load-balancing-problems-tp4673549.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: ActiveMQ master/slave with load balancing problems

Posted by danaR <ro...@yahoo.com>.
Yes, they are sending persistent messages. 




--
View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-master-slave-with-load-balancing-problems-tp4673549p4673618.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Re: ActiveMQ master/slave with load balancing problems

Posted by Christian Posta <ch...@gmail.com>.
i am assuming this is true, but want to confirm: are your clients
sending *persistent* messages?

On Wed, Oct 30, 2013 at 11:08 PM, danaR <ro...@yahoo.com> wrote:
> Hello,
> We are using ActiveMQ 5.8.0 and In order to achieve both high availability
> and load balancing, we tried to set up a configuration with a Host pair with
> master/slave pairs (JDBC master/slave), as stated   here on fuse-source
> <http://fusesource.com/docs/esb/4.3/amq_clustering/Failover-Combining.html>
> We have a one-directional network connector on each broker, that points
> towards the other master/slave pair of brokers like this:
> <networkConnectors>
>     <networkConnector name="link-to-b"
> uri="masterslave:(tcp://host1A:62626,tcp://host2A:62626)"/>
> </networkConnectors>
>
> After having some problems (losing messages or receiving duplicates when one
> of the brokers fails), we found this post
> http://tmielke.blogspot.ro/search/label/missing%20messages so now we also
> have in the configuration, on the queues this policyEntry
>
> <policyEntry queue=">" producerFlowControl="true" memoryLimit="200mb"
> enableAudit="false" >
>   <networkBridgeFilterFactory>
>     <conditionalNetworkBridgeFilterFactory replayWhenNoConsumers="true" />
>   <networkBridgeFilterFactory>
> <policyEntry>
>
> and this transport connector
>
> <transportConnectors>
>   <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"
> auditNetworkProducers="true" />
> </transportConnectors>
>
> However, the problem still persists. Sometimes we receive duplicates and
> sometimes messages are lost when we force a failover (we stop one broker
> during a test). Our tests are very basic, one machine sends messages to a
> queue while another machine consumes them from the same queue. The producers
> and consumers connect to the broker cluster using the failover transport
> where all 4 broker instances are specified.
> For more information, here are links to our full configurations.
> (the brokers are named like in the fuse-source link example)
>
> A1:  http://pastebin.com/S6jMDtee <http://pastebin.com/S6jMDtee>
> B2:  http://pastebin.com/1UUpvKah <http://pastebin.com/1UUpvKah>
> A2:  http://pastebin.com/RUr6AvWy <http://pastebin.com/RUr6AvWy>
> B1:  http://pastebin.com/f6ipthEZ <http://pastebin.com/f6ipthEZ>
>
> Can anyone help with this? How can we configure activeMQ to have both high
> availability and load balancing?
>
> Thank you.
>
>
>
> --
> View this message in context: http://activemq.2283324.n4.nabble.com/ActiveMQ-master-slave-with-load-balancing-problems-tp4673549.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.



-- 
Christian Posta
http://www.christianposta.com/blog
twitter: @christianposta