Reliable Microservice Communication: Patterns That Keep Distributed Systems Sane

Reliable Microservice Communication: Patterns That Keep Distributed Systems Sane

Distributed systems fail in ways that monoliths never do. In a single process, if a function call fails you get an exception — simple, local, easy to reason about. Spread that same call across a network boundary and suddenly you’re dealing with partial failures, redelivered messages, timeouts that may or may not mean the operation succeeded, and cascading outages that start from something as mundane as a slow database query. ...

June 30, 2026 · 10 min · 1940 words · Raul
Building a Distributed Sequence Generator with ZooKeeper and C#

Building a Distributed Sequence Generator with ZooKeeper and C#

1. Goal and Motivation This demo project explores how to assign unique, dynamic sequence numbers to multiple server instances in a distributed environment, inspired by challenges that surface when designing things like global ID generators (e.g., Twitter’s Snowflake). As described in the project’s README, the scenario began as a typical interview problem: how do you ensure each server instance receives (and keeps) a unique ID, especially if instances are started, stopped, or restarted? ...

March 17, 2025 · 5 min · 1047 words · Raul