Fly.io released a series of distributed system challenges, specifically for learning how these systems are built, tested, and optimized.
You can find the challenge at https://fly.io/dist-sys/.
I've added my solution(s) to this repo which can be compiled and run using the following command:
cargo build -r
Then, in the Maelstrom directory:
./maelstrom test -w broadcast --bin $PATH_TO_TRANQUILTY/target/release/tranquility ...
- Echo server
- Unique ID generation
- Broadcast
- Single node broadcast
- Multi-node broadcast
- Fault tolerant broadcast
- Efficient broadcast I
- Efficient broadcast II
- Grow only counter
- Kafka style log
- Totally Available