Distributed system pattern: Leader and Followers

#594 – February 08, 2026

one node as decision-maker while others replicate its state

Distributed system pattern: Leader and Followers
6 minutes by Chris Woodruff

Distributed systems fail when multiple nodes believe they're in charge and act simultaneously. The Leader and Followers pattern prevents this by designating one node as decision-maker while others replicate its state. A robust implementation requires four elements: exclusive leadership with time bounds via renewable leases, fast failure detection, monotonic terms that increment with each transition, and fencing that rejects writes from stale leaders at the storage layer.

Getting Started with Protobuf APIs – Free Workshop from Buf
sponsored by Buf

Building type-safe APIs across C# and other languages? Join Buf's 1-hour interactive workshop on Feb. 19th to learn how Protobuf makes API development safer and simpler. Discover best practices for evolving APIs without breaking changes, using Protobuf beyond gRPC for event streaming and data pipelines, and implementing consistent validation. Live Q&A with Buf's engineering team.

Writing a .NET garbage collector: Mark and sweep
9 minutes by Kevin Gosse

Kevin explains how to implement the mark-and-sweep phases of garbage collection in a custom .NET GC built in C#. The marking phase starts from roots like local variables and uses a depth-first search to traverse and mark reachable objects by flipping the least-significant bit of their method-table pointer. The sweeping phase walks the heap, clearing unmarked objects and replacing them with free objects to keep the heap walkable while restoring method-table pointers for marked objects.

Collection expression arguments in C# 15+
2 minutes by Steven Giesel

Steven shares a C# proposal that would let developers pass arguments when creating collections using collection expression syntax. Currently, collection expressions offer concise syntax but don't allow specifying parameters such as initial capacity or comparers.

YARP — Reverse proxying the .NET way
9 minutes by Marek Sirkovský

YARP is a reverse proxy built on .NET that lets developers route requests and handle load balancing using familiar C# code instead of learning tools like NGINX. It works by adding a NuGet package to your project and configuring routes in JSON to forward traffic to different backend services.

.NET 10: Zip and GZip API improvements
3 minutes by Anthony Giretti

.NET 10 improves compression APIs like ZipArchive and GZipStream without changing their surface. Anthony points out the updates deliver better performance on large archives, smarter async behavior, and more efficient handling of concatenated GZip streams. These internal optimizations boost throughput and resource usage automatically when you target .NET 10.

And the most popular article from the last issue was:

newsletters