[jboss-jira] [JBoss JIRA] Commented: (JBMESSAGING-519) Transparent failover / HA

Tim Fox (JIRA) jira-events at jboss.com
Mon Oct 2 15:25:42 EDT 2006


    [ http://jira.jboss.com/jira/browse/JBMESSAGING-519?page=comments#action_12344471 ] 
            
Tim Fox commented on JBMESSAGING-519:
-------------------------------------

This task can probably be split into two:

1) The client side management of failover. The maintenance of the client side list of servers, the client side load balancing policy.

2) The server side management of failover.

This is how I think failover should work:

On the server side, if a node fails, this needs to be detected by the group. The failover node for the node that failed needs to then take over responsibility for any queues that the failed node was handling - it effectively "becomes" that node.

Any non persistent messages will be lost. Any persistent messsages will be loaded for those queues from the database. If in memory message persistence is being used then no need to load them from the db.

Thing to consider: When the failed node comes back - how to handle the responsibility for the queues back to the original node? This probably isn't possible since new connections may have connected to the failover node and we can't just boot them off, or move them to the other node since they will lose non persistent messages.

Note that we DO NOT need to replicate delivery state of sessions to the failover node. This will be too slow. Instead we can get transparent failover by the client "replaying" the session to the
failed over server.

On the client side, when the client detects server failure, it chooses a new server to try. This must match the failover server.

Something to think about: How can we ensure that the client doesn't failover to the new server *before* the new server has failed over it's queues?

The client starts a new JMS connection, then recreates automatically all the sessions it had on the pervious failed connection.

For each session, the client then tells the server the ids of all the delivered but unacknowldged messages it had at point of failure. The server then recreates its delivery lisst from this information.

The sessions can then continue as normal - with perhaps redelivery of any non persistent messages that were in the failed sessions. (persistent messages will be ok)

> Transparent failover / HA
> -------------------------
>
>                 Key: JBMESSAGING-519
>                 URL: http://jira.jboss.com/jira/browse/JBMESSAGING-519
>             Project: JBoss Messaging
>          Issue Type: Sub-task
>            Reporter: Tim Fox
>             Fix For: 1.2.0.Beta1
>
>
> Implement fully transparent failover for JMS clients as described in http://wiki.jboss.org/wiki/Wiki.jsp?page=NewClusteringDesign

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list