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

glad to see this project ,thanks very much #1

Open
damozhiying opened this issue Aug 29, 2016 · 6 comments
Open

glad to see this project ,thanks very much #1

damozhiying opened this issue Aug 29, 2016 · 6 comments

Comments

@damozhiying
Copy link

i'am very interested in this project,can you offer more demo;

@damozhiying
Copy link
Author

can you offer more document or presentation

@buremba
Copy link
Owner

buremba commented Aug 30, 2016

Unfortunately I don't have any documentation for kume yet, it's all in README file. However you can find examples in unit and integration tests in here: https://github.com/buremba/kume/tree/master/src/test/java/org/rakam/kume

@damozhiying
Copy link
Author

how to run in different machine and how to join the cluster,leader election

@damozhiying
Copy link
Author

Cluster.java->voteElection function is correct? and how to consistent data in different machine

@buremba
Copy link
Owner

buremba commented Aug 31, 2016

When creating a cluster, you may set the nodes.

Cluster cluster = new ClusterBuilder()
    .services(services)
    .members(members) // here it is
    .serverAddress(serverAddress)
    .start();

Once the cluster is running, when a new node is started it send UDP multicast message to check if a cluster is already running and connects a cluster if there's already one.

If the nodes are in same network and your firewall allows UDP multicast message you don't need to do anything, they will discover each other and distribute the work & data automatically.

Leader election is done using Raft, voteElection is an internal method and when a node don't get any heartbeat from the leader for some time, it will be invoked so that a new leader can be elected. You may learn about Raft consensus algorithm from here: https://raft.github.io/

In fact, Kume is not ready for production and I don't know when it will be because I'm quite busy at the moment with other projects. :/ However, I think if you are looking for a distributed processing framework that implements decent distributed algorithms (Raft, CRDT etc.) in order to practice for distributed programming, it may help a lot.

@damozhiying
Copy link
Author

Special Thanks, expect the follow blog post

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

2 participants