[Spread-users] Spread for dynamic cluster with nodes entering and leaving at any time

John Lane Schultz jschultz at spreadconcepts.com
Tue Jun 17 10:57:30 EDT 2014

Hi Luis,

Sorry for the delay, but I wanted to check with my colleagues about this issue first.

You basically have the right idea that you need to list the full potential membership in the configuration file ahead of time.  However, I don’t think the configuration system will currently accept you listing out an entire /24 network (i.e. - 255 daemons) the way you proposed.  By default, Spread only allows up to 128 daemons in a ring and I think the configuration file is similarly limiting.

In the past, however, we wrote a modification for a client that allowed them to specify wildcard address matching in the configuration file that did allow you to specify, for example, an entire /24 network as part of the potential membership.  The system still had the limitation that only up to 128 daemons could ever be online and connected at any given moment, but they could be from the full address space.

If you are interested, I’ll dig into that old version some and send you more details


John Lane Schultz
Spread Concepts LLC
Cell: 443 838 2200

On Jun 16, 2014, at 10:55 AM, Luis Rodero-Merino <lrodero at gradiant.org> wrote:


I'm a newbie to spread, we are evaluating if it can fit in our scenario. We have a dynamic cluster of hosts, where nodes can appear (e.g. I add one more host to increase capacity) and disappear (e.g. some host fails) at any moment. In this scenario we cannot know in advance which nodes will be running at any given time, we only know the network they share. We need nodes to be able to auto-discover each other (i.e., they realize through spread about other nodes entering or leaving the cluster without any intervention from administrators), so at all times any given node is aware of who else is 'alive'.

Given spread documentation, I assume that we need to include in the spread.conf file a 'Spread_Segment' section where all possible nodes are defined before-hand, so for network a.b.c.* we could have something like :

Spread_Segment {
    node1            a.b.c.1
    node2            a.b.c.2
    node3            a.b.c.3
    node255        a.b.c.255

Is that so? Thank you very much for your help.



Spread-users mailing list
Spread-users at lists.spread.org

More information about the Spread-users mailing list