> 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