git.net

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Artemis Failback


Hi all,

- Ideal Use Case
    We'd like to ensure high availability using failover, and then
normalization of the environment using failback once the server which was
shut down is back up.

- Context and Environment
    * We have two brokers running on two seperate servers, set up in a
cluster with static connectors.
    * Both brokers are able to handle their own load just fine.
    * We create a situation where one of the broker shuts down, and all of
its clients failover to the other broker and we're still able to process
messages just fine.

- Reproduction
    Node 1:
    * ./artemis create --nio --clustered --cluster-user artemis
--cluster-password artemis --name broker1 --user artemis --password artemis
--allow-anonymous Y broker1
    * add to connectors :    <connector
name="secondBroker">tcp://secondhost:61616</connector>
    * reference secondBroker as static connector
    * ./broker1/bin/artemis run


    Node 2:
    * ./artemis create --nio --clustered --cluster-user artemis
--cluster-password artemis --name broker2 --user artemis --password artemis
--allow-anonymous Y broker2
    * add to connectors :    <connector
name="firstBroker">tcp://firsthost:61616</connector>
    * reference firstBroker as static connector
    * ./broker1/bin/artemis run

    - start clients
        + they all connect to broker1
    - stop broker1
    - client connects to broker2 successfully
    - start broker1
        + expect to see client failback to broker1, but this does not happen

- Issues
    ** Failback does not happen after a failover occurs.


- Client-side configuration
     +
(tcp://firsthost:61616,tcp://secondhost:61616)?ha=true&randomize=false&retryInterval=1000&reconnectAttempts=1

    - Notes on reconnectAttempts:
        if -1 -> do not attempt to fail-over
        if >= 0 -> fail over, but no fail-back