Solving Gossip Glomers Challenges

Written on : 2024-04-27

If you just want to see my solutions to the challenge, here is my repo : Solutions

Overview

I recently solved a series of challenges called Gossip Glomers. This is a series of challenges put forth by fly.io that to me felt like a tiny intro to distributed systems. I did not find these challenges too hard...but the right amount of fun :). For those who don't know fly.io :

We’re Fly.io. We run apps for our users on hardware we host around the world. This post isn’t about our platform. Rather, it’s an elaborate plot to get you to write some code just for the hell of it.

quoted from : fly.io blog, an incredible blog, you should read it!

built with the help of Jespen (A tool made by Kyle Kingsbury to make distributed systems safer.) These challenges use something called Maelstrom that is built on top of Jespen

Jepsen pushes vendors to make accurate claims and test their software rigorously, helps users choose databases and queues that fit their needs, and teaches engineers how to evaluate distributed systems' correctness for themselves.

About Maelstrom :

Maelstrom is in my opinion an incredible platform, Some of its notable features :

Furthermore, it's beautifully documented, you can find it here : https://github.com/jepsen-io/maelstrom

About the challenges :

Each challenge is composed of several parts:

The challenges start rather easily from Echo to building a Multi-Node distributed KV store that satisfies read committed in a total availability guarantees. Towards the end of these challenges, you start worrying more about transaction guarantees and tradeoffs!

Conclusion

If you are even the slightest bit interested in systems, this is a must-try list of challenges. But in my opinion, they barely scratch this wide world of distributed systems. That's it for this blog!