Ralph,

EVT_NODE_LEFT and EVT_NODE_FAILED occur on local node. They essentially
mean "I saw that remote node went down".

Vladimir.

On Sat, Apr 23, 2016 at 5:48 PM, Ralph Goers <[email protected]>
wrote:

> Some more information that may be of help.
>
> Each user of a client application creates a “session” that is represented
> in the distributed cache. Each session has its own connection to the third
> party application. If a user uses multiple client applications they will
> reuse the same session and connection with the third party application. So
> when a single node goes down all the user’s sessions need to become “owned”
> by different nodes.
>
> In the javadoc I do see IgniteEvents.localListen(), but the description
> says it listens for “local” events. I wouldn’t expect EVT_NODE_LEFT or
> EVT_NODE_FAILED to be considered local events, so I am a bit confused as to
> what the method does.
>
> Ralph
>
> On Apr 23, 2016, at 6:49 AM, Ralph Goers <[email protected]>
> wrote:
>
> From what I understand in the documentation client mode will mean I will
> lose high availability, which is the point of using a distributed cache.
>
> The architecture is such that we have multiple client applications that
> need to communicate with the service that has the clustered cache. The
> client applications expect to get callbacks when events occur in the third
> party application the service is communicating with. If one of the service
> nodes fail - for example during a rolling deployment - we need one of the
> other nodes to re-establish the connection with the third party so it can
> continue to monitor for the events. Note that the service servers are
> load-balanced so they may each have an arbitrary number of connections with
> the third party.
>
> So I either need a listener that tells me when one of the nodes in the
> cluster has left or a way of creating the connection using something ignite
> provides so that it automatically causes the connection to be recreated
> when a node leaves.
>
> Ralph
>
>
> On Apr 23, 2016, at 12:01 AM, Владислав Пятков <[email protected]>
> wrote:
>
> Hello Ralph,
>
> I think the correct way is to use client node (with setClientMode - true)
> for control of cluster. Client node is isolated from data processing and
> not subject fail of load.
> Why are you connect each node with third party application instead of to
> do that only from client?
>
> On Sat, Apr 23, 2016 at 4:10 AM, Ralph Goers <[email protected]>
> wrote:
>
>> I have an application that is using Ignite for a clustered cache.  Each
>> member of the cache will have connections open with a third party
>> application. When a cluster member stops its connections must be
>> re-established on other cluster members.
>>
>> I can do this manually if I have a way of detecting a node has left the
>> cluster, but I am hoping that there is some other recommended way of
>> handling this.
>>
>> Any suggestions?
>>
>> Ralph
>>
>
>
>
> --
> Vladislav Pyatkov
>
>
>
>

Reply via email to