You want to have more than one URI for your composite 'failover' connector/transport.
failover:(uri1,uri2,uri3,...) As an alternative to using multicast (could be somewhat unreliable) for message passing, you may want to consider using the 'fanout' transport for replicating commands from your clients out to the broker farms. http://activemq.apache.org/fanout-transport-reference.html If you intend to fanout to queues, and not just topics, then set the “fanOutQueues” option to true. By default, the fanout does not replicate commands to queues; only topics. fanout:(static:(tcp://linux01:61616,tcp://linux02:61616))?fanoutQueues=true You can use a discovery URI other than the default. Here's a snippet from the broker xml file. In this case, the brokers will auto discover themselves via 239.255.2.5. <transportConnectors> <transportConnector name="default" uri="tcp://localhost:61616" discoveryURI="multicast://239.255.2.5" /> </transportConnectors> <networkConnectors> <networkConnector name="default" uri="multicast://239.255.2.5" /> </networkConnectors> You can also use rendezvous, instead of multicast, for discovery. Joe hagai wrote: > > Hi, > I have some questions about load balancing: > We have a few server farms, and also multiple JMS clients deployed over > the internet. Computers in server farms can talk JMS to each other, and > there is also low volume communication between server farms. > The remote clients connect to the broker using SSL. HA is probably not > important to us. > > I want to use load balancing using a standard IP load balancer (such as > cisco ACE). I plan to provide two URIs for each server farm: One SSL URI > for the remote clients, and one TCP URI which will be used for > communication between server farms (over a VPN connection). I don't want > to use load balancing in the client using since I want to be able to add > and remove brokers without changing the clients. Therefore, the URIs will > contain the load balancer's IP. The client's URI will be something like > "failover:(ssl://lb.liveperson.net)". > > When a client, or broker from another server farm, connects the load > balancer it will select a broker, and all communication from this client > will reach the same broker until it is down. > > My questions are: > 1. Does this configuration make sense? :) > > 2. Is there a way to use multicast to send messages between brokers? since > I may have distributed topics and queues I want to be able to send > messages once for the whole server farm, and not duplicate it for each > broker. > > 3. I am using activemq 4.1. If I use multicast discovery, can I use > another discovery URI except "default"? I tried using another URI and it > didn't work. > > 4. If the answer for 2 is "no, you can't use multicast to send messages > between brokers" - which transports support multicast discovery? Is TCP > the right choice here? (for communications between brokers in the same > server farm). > > Thanks, > Hagai. > -- View this message in context: http://www.nabble.com/load-balancing-architecture-question-tp14485909s2354p14489830.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.