Implementing Raft: Part 2: Commands and Log Replication
eli.thegreenplace.net
eli.thegreenplace.net
Joshua Bloch (of the Java fame) bloged about this [1] and here is the main take-away:
> The key lesson was to carefully consider the invariants in your programs.
[1] https://ai.googleblog.com/2006/06/extra-extra-read-all-about...
The consensus module and log are not very useful on their own. You need the integration with multiple concurrent clients, some state machine (even key value store will be complicated). This is still hard and doesn't get any easier with raft.
Wouldn't that make it easier to write correct (for some form of correctness) distributed applications, leaving the messy details to a proven lower-level stack?
Happy to discuss it in more details as well :)