Depending on your budget you could use some sort of HA cluster software
below your ip stack, for instance Sun Cluster 3. (see
http://www.sun.com/blueprints/1001/scaleclstr.pdf). 
They have a consept of a Global network interface where several nodes in
a cluster share an ip address and connections, if you in addition put
your coversational state in a cluster cache as ashish suggest you could
possibly be able to maintain connections. At least you can in c on
solaris, I guess some custom code would be needed to make it work in
mina though.

--
daniel
 
 

> -----Opprinnelig melding-----
> Fra: Ashish [mailto:[email protected]] 
> Sendt: 20. mars 2009 14:10
> Til: [email protected]
> Emne: Re: Clustering support in MINA
> 
> > 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
> 

Reply via email to