In order to support a more clever algorithm for the DS to choose his RS,
we introduce:
- a weigth, which is an integer affected to each RS that combined with
each others will define a percentage value which matches the number of
DSs (compared with total number od DSs in the topology) that can be
connected to the RS at a time in the topology. In these modif, this
configuration of the weight is added as well as dynamic changes. Also
transported in Topo messages. No modification of the connection
algorithm yet
- Also to support the future connection algorithm, these modifs
introduces a Monitoring Publisher thread which is a thread that sens
every 3 seconds a Monitoring message (unchanged format) to every DSs
that are connected to him. These information will be used by the DSs to
potentially reconnect to another RSs with a newer server state (info
included in monitoring messages)
The new connection algorithm will take into account:
- group id
- generation id
- server states
- locality (same VM)
- weight (load)