PixelRing
View codeDistributed systems · C#
Every pixel is a key in a five-node store modeled on Amazon's Dynamo and written from scratch in C#: a hash ring, three copies of each key, and writes that need two replies.
Live run · canvas painted through the API; node-b killed and revived; a partition leaves two versions of the same pixels
Built withC# · .NET 10 · ASP.NET Core · React · TypeScript · Canvas
- Kill a node or cut the network and writes keep landing. Hinted handoff, read repair and Merkle-tree anti-entropy bring the missing copies back once it returns.
- Merkle trees are kept per key range, not per node, because two replicas only share some ranges. 59 tests cover a node killed mid-write, partitions, crash recovery and anti-entropy.