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

Cluster design #10

Open
TheWaWaR opened this issue Jul 9, 2024 · 0 comments
Open

Cluster design #10

TheWaWaR opened this issue Jul 9, 2024 · 0 comments

Comments

@TheWaWaR
Copy link
Contributor

TheWaWaR commented Jul 9, 2024

All nodes connect each other. Node have 2 kinds: major/minor. There are 2 roles of major node: leader/follower. Leader node responsible for write state(which is the route table and other metadata), follower node responsible for read state and broadcast to minor nodes. When init state or brain split happened, the major node have larger log-id become leader, when log-id all the same the major node have larger node-id (a uuid) become leader. Every node should try its best collect node topology information and broadcast to each other.

When rollback happened, the node lose election should drop some connections to keep consistency.

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