quchen / amoeba

Amœba is a distributed network.
Other
18 stars 1 forks source link

Use multiple bootstrap servers #39

Closed quchen closed 10 years ago

quchen commented 10 years ago

Currently, each client tries to connect to a random bootstrap server. Once the connection is established and successful, the bootstrapping process is over. This means that bootstrapping only requires a single server.

As a consequence, two independent network components cannot start connecting to each other. Even when a multi client knows multiple independent bootstrap servers, each node in its pool will become part of these clusters without knowing about the other siblings in the pool (which may be part of another cluster).

This could be fixed by an altered bootstrapping process: instead of going all in on the first successful bootstrap server found, single bootstrap requests (establishing one up- and downstream connection each) could be issued to random bootstrap servers. This would allow new nodes to connect to multiple disconnected components, hence allowing clusters to merge.

quchen commented 10 years ago

Merged in 9aa6e9947b8a067d1b62dd4a72cdbba0394f1fcb