Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Scalable cluster state propagation (zen discovery) #6186

Closed
ghost opened this issue May 15, 2014 · 1 comment
Closed

Scalable cluster state propagation (zen discovery) #6186

ghost opened this issue May 15, 2014 · 1 comment

Comments

@ghost
Copy link

ghost commented May 15, 2014

In the current implementation of zen discovery the cluster state broadcasting by the master does not scale too well as every change in the cluster state results in the cluster state being sent to every single node by the master.

This can lead to quite some traffic, in an cluster with 500 nodes and 15000 shards, even when the cluster state by itself has only 1MB, the master node will sent a total of 500MB per cluster state update.

So it should be possible to only send a diff of the changes to the nodes instead of the full cluster state. In case the nodes recognize that they missed an update, they could query the master node to resend the full cluster state to them.

Another possibility would be a tiered distribution of the state, where the master node does not directly send the updates to every single node, but through other nodes which forward the state to the other nodes in the cluster. A gossipping protocol could here be used.

If the clusterstate does not need to be distributed in realtime, one could also throttle the propagation of the state, so that when changes come in rapid succession, the changes can be merged before the state has been sent out to every node.

Any ideas?

@clintongormley
Copy link
Contributor

Duplicate of #6295

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant