jepsen-io / maelstrom

A workbench for writing toy implementations of distributed systems.
Eclipse Public License 1.0
3.05k stars 189 forks source link

Maybe it was intentionally left out in the docs but was curious #10

Closed ruslander closed 3 years ago

ruslander commented 3 years ago

First of all, The docs and this project is a marvel of engineering. This weekend finishing reading the docs, will give it some time and read again. Reads like a novel, wish all full blown books on distributed systems would be written like this. Good job sir!

Was wondering, what is the main usage of this ? Do you expect it to be used by those who write and test replicated state machines with this text based protocol ? Or there is a way that a can wire a db client and test its advertised isolation levels ?

Appreciate your hard work, Good luck!

aphyr commented 3 years ago

Thank you! Like the README says, it's intended as a teaching tool--I use this as a part of a class on distributed systems. That said, I also suspect Maelstrom will be useful as a modeling tool for folks who want to build a prototype of a system in its framework. If you're looking to test existing systems, rather than writing a system that implements Maelstrom's specific protocol, that's what Jepsen is for: it lets you test essentially any concurrent system. Maelstrom is really just a small shim over Jepsen as a library.