Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
3.0.0-alpha4
-
Docs Required, Release Notes Required
Description
We should design and implement a mechanism for thin clients that will provide them with ability to discover nodes in cluster.
My thoughts on the matter:
If we implement this approach (which should be a default I belive) then initial addresses provided to thin client by a user should only be used to establish the first connection to a node of the cluster. After that, thin client should request full list of active nodes of the cluster and use them instead of the initial list to establish new connections.
The problems that should be considered during desing and implementation steps:
- How should clients be notified about changes in cluster (should clients send requests for that or should server issue notifications);
- How should clients handle a situation when they can not reach cluster nodes by addresses provided by server.
- How should clients behave on connection to nodes from different clusters.
- How should clients handle different states of the cluster lifecycle.
These problems should be probably addressed in separate tickets. In this case, those ticket should be created and linked to the current ticket.