3 Replies Latest reply: May 4, 2012 6:46 AM by Radoslav Husar RSS

Jboss session data store and failover handling

Hemant Kumar Newbie

Where does the jboss store the session data? And if it stores in-memory then how does it do the session management in clustered environment? I mean how the fail over is taken care of without loosing the sessioncontext. Appreciate your help.

 

Thanks,

Hemant

  • 1. Re: Jboss session data store and failover handling
    Radoslav Husar Master

    Where does the jboss store the session data?

    In memory. You can also configure passivation for some sessions to be spilt to the disk.

     

    fail over is taken care of without loosing the sessioncontext

    The sessions are replicated to other servers that will have a copy of data in case failover happens. The session ID is then the key so the server knows which session failed over.

     

    Rado

  • 2. Re: Jboss session data store and failover handling
    Hemant Kumar Newbie

    Agreed with the first part that it stores the session in memory.

     

    But for failover I've my doubts because of performance degradation -- lets assume I'm having 100 instances in a clusted so for every session update for each user data has to be replicated to 100 different servers, and with large number of users I think servers will just be busy only in replicating the session. It's an opinion though

  • 3. Re: Jboss session data store and failover handling
    Radoslav Husar Master

    But for failover I've my doubts because of performance degradation -- lets assume I'm having 100 instances in a clusted so for every session update for each user data has to be replicated to 100 different servers, and with large number of users I think servers will just be busy only in replicating the session. It's an opinion though

    Absolutely true -- but its a very very silly and unrecommended setup :-)

     

    It would in theory mean you have 9 900% data redundancy meaning 99 server instances can crash at the same time in order to not lose any data. In other words, this makes no sense at all.

     

    The way to do this, is to

    • use buddy replication (number of buddies) in AS5 and distributed  mode in AS6/7,
    • or split into smaller clusters each using total/full replication and configuring domains on the load balancer

     

    Rado