raft / raft.github.io Goto Github PK
View Code? Open in Web Editor NEWwebsite at https://raft.github.io
website at https://raft.github.io
We recently published a new implementation available here::
https://github.com/hashicorp/raft
Based on the TLA+ spec, I implemented a java version of implementation, it supports, Leader Election + Log Replication, Configuration change and Log Compaction.
It could be found at https://github.com/andy-yx-chen/jraft
Name: jraft
License: Apache2
Thanks!
.NEXT Raft has been moved to .NET Foundation organization. Could you please fix the repo location of this implementation?
Old location visible at raft.github.io: https://github.com/sakno/dotNext
New location: https://github.com/dotnet/dotNext
Thanks in advance!
The description for figure 2 in https://raft.github.io/raft.pdf reads;
"A condensed summary of the Raft consensus algorithm (excluding membership changes and log compaction). The server
behavior in the upper-left box is described as a set of rules that trigger independently and repeatedly."
The second sentence confused me momentarily. I believe it should refer to the "lower-right box" as it does in the original dissertation PDF.
I was going through a couple of implementations and to my novice eye, it felt that py-raft by Toby Buress at least conforms to the Leader Election + Log Replication property. They also had an implementation of member changes which I could not really understand. Someone well versed in python and raft should be able to do a quick review of the row.
It'll be great if experts took a look at existing references and update their feature columns in addition to adding references since this github io page is a major reference when someone looks up raft.
Why is the raft implementation not sorted by the number of GitHub stars count?
I moved my raft implementation from google code to github
https://github.com/nackstein/lite-raft
bye!
Hi All,
eBay has released NuRaft, a lightweight C++ Raft Core implementation, under Apache 2.0 license. It was derived from cornerstone C++ Raft, and the primary author is Jung-Sang Ahn.
eBay/NuRaft, Jung-Sang Ahn, C++, Apache 2.0, Yes, Yes, Yes.
Thanks,
Gene
In the past months me and a colleague Leonardo Ruzza have worked on an implementation of Raft in Omnet++.
Our main goal was to provide a handy tool to simulate the protocol in action without the need to build a real distributed environment. We think this can be very useful both to understand the protocol functioning and to have a first preview of how a real network of machines using the protocol would behave.
Our repo is private at the moment, but I would like to ask If it can be of use for someone and so made it public; also, it would be an honor to be added to the implementation list.
Edoardo Venir
Leonardo Ruzza
Dear all,
In my graduate course "Advanced Networking" in the Department of Computer Science at Saint Louis University I teach Raft.
This is the link for the course:
Link
S2 is voted as leader,but its last log never commit。
In the 5th term, S5 is leader. A new request comes from client, S5 do its leader job and commit this entry finally, but this commit request from S5 does not reach S2. At the time, S3 start a new leader election because of time out, but S3 fail to be leader, and the group enter to term 6. After a litter time, S5 time out, and start a new leader with term 7, the propose request contain last log info, whose index is the uncommitted log index. Is that right? finally, S5 become leader
Since Raft uses randomized timers to elect leaders, how can one ensure that the randomization is sufficient random?
How can one ensure that randomization in Raft is not based on pseudo random generator? (Flaw, Deliberate design -- backdoor)
Thank you.
Nathan Aw
Should probably remove 'eraft' implementation from list:
The project page says: "Please use ZRaft Lib; the implementation below is incomplete and discontinued."
University Name: San Jose State University https://msse.sjsu.edu/enterprise-software-technologies
Course Name:CMPE 275 Enterprise Application Development https://msse.sjsu.edu/enterprise-software-technologies Spring 2015
Professor: John Gash https://cmpe.sjsu.edu/profile/john-gash
Details: Includes project to make Distributed file system using RAFT Algorithm for Fault tolerance, log replication and consistency
Project URL: https://github.com/deepmehtait/Distributed-file-system-server-with-RAFT
University of California, Davis
ECS 265, Distributed Database Systems
Mohammad Sadoghi
Fall 2018
Included the Raft paper as class presentation material.
Greetings,
The course Distributed Systems at Politecnico of Milano by Gianpaolo Cugola has lectures on Raft.
I'll leave the link to the course information below, but it does not explicity talk about Raft, it is taught under Agreement.
https://www.cse.iitb.ac.in/page134?course=CS+744
https://www.cse.iitb.ac.in/~mythili/os/
This an active course (CS744) here at IITB which teaches RAFT.
Hi all,
I've adopted what I would say is a simplified version of Raft at UCSD. I'm teaching a 10-week undergrad networked software course, and include a strong leader, 2-phase commit, and a replicated log. I don't include leader election, but do point those students wishing to go deeper to the Raft paper. Thought it might be of interest to you.
University Name: UC San Diego http://www.cs.ucsd.edu
Course Name: CSE 124: Networked Services http://www.cs.ucsd.edu/~gmporter/classes/fa17/cse124/
Fall 2017
Professor: George Porter http://www.ucsd.edu/~gmporter
Details: Replicated logs, 2PC, strong leader, but no leader election/failure. Project involves building a distributed DropBox-like file storage system called "SurfStore"
Project URL: http://cseweb.ucsd.edu/~gmporter/classes/fa17/cse124/post/project2/
I just released a new multi-group Raft library in Go named Dragonboat. It is released under the Apache 2 license and available at https://github.com/lni/dragonboat
Could you please add this library to your raft implementation list? Thanks!
It cover almost all features described in the Raft thesis -
It is also the fastest open source Raft implementation on github.com, when tested with medium range hardware (3 x 22 cores Xeon servers running at 2.8GHz, each with NVME SSDs) -
More details are available at https://github.com/lni/dragonboat
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.