
I used Gossip Glomers to learn distributed systems from zero (and got humbled fast)
I started Fly.io’s Gossip Glomers because I wanted a practical way into distributed systems. Books were useful, but I wasn’t feeling the problems. Gossip Glomers fixed that. It gave me tiny problems that looked simple, then failed in very non-obvious ways. I’m still early in this journey, but here are the lessons that finally clicked for me. What I built I solved the challenges in Go: Echo Broadcast G-Counter Unique IDs Kafka-style log Transactional key-value (eventually consistent sync) My stack was intentionally boring: Go + Maelstrom’s Go node library + JSON handlers. Code Aha #1: “Works locally” means nothing without retries + idempotency Broadcast was my first real slap in the face. My first thought was: “Receive message → forward to neighbors → done.” Then I realized: messages can be duplicated RPCs can fail peers can miss updates clients can race with propagation This pattern was the turning point: mu . Lock () alreadySeen := false for _ , v := range message_list { if v == req .
Continue reading on Dev.to
Opens in a new tab



