> On Fri, Mar 20, 2009 at 8:26 AM, Sanjeev Sachdev > <[email protected]> wrote: >> Could you please tell if MINA can work in a cluster mode? >> >> I have developed a server using MINA that communicates with remote devices >> and stores conversational information in the IoSession object. Can IoSession >> object work in a cluster mode? > > What kind of cluster are you hoping to run MINA in? > > For appserver clustering, given that the session indirectly refer to > the socket, which would be hard to cluster, I fail to see how it could > work. During a failover, the socket would have to be recreated at > which time a new session would be created. But, IoSession is an > abstracted interface, so you might be able to create a session wrapper > which is clusterable and that could be reused after a failover.
Agree with Niklas. There is little to be done at networking layer for clustering However, it still leaves a possibility of innovating some kind of HA, but can't think of it at MINA level, as the session is bound to a Client at Socket level. Some wild thoughts 1. Have a Filter-chain implementation to cater to HA. Basically, you write custom implementation to always ensure that you never loose a message that you may have received. I thought about it and dropped the idea as it involves writing a lot of custom code 2. Keep MINA at purely for Network IO and move business logic to a HA layer. Something that most of the container do. Like Tomcat has Coyote connector, but still you can have HA for your application. 3. Have MINA as Proxy in front of your application, on similar lines of Apache modjk. These are some of the things that I thought at some point of time. For your problem domain, you can store the conversation state in a clustered cache like ehcache, JBosscache etc and implement some logic in MINA that it can re-establish connection with device based on the Conversation information. thanks ashish
