Skip to content
José da Cruz

Enterprise Architect, and Life Thinker

José da Cruz

Enterprise Architect, and Life Thinker

Tag: distributed systems

architecture

The Dead Letter Queue Pattern: Why Nobody Ever Looks Inside It

josedacruz, September 18, 2026September 18, 2026

TL;DR: A dead letter queue (DLQ) is just a holding pen for messages your system tried to process and failed. It’s not a fix by itself — it just moves the failure somewhere quieter. Whether you actually need one depends on how much it costs you to lose a message…

Continue Reading
architecture

Designing a Webhook Delivery System: Why Your Retries Need an Idempotency Key

josedacruz, September 13, 2026September 13, 2026

TL;DR: A webhook is just an HTTP POST your system sends to someone else’s server when something happens, but “just an HTTP POST” hides a lot of hard problems. Networks drop packets, receivers time out, and retries create duplicates — so a webhook delivery system that actually works needs retries…

Continue Reading
architecture

Designing a Distributed Counter: Why Global Counts Don’t Scale

josedacruz, September 10, 2026September 10, 2026

TL;DR: A single database row that stores a count (likes, views, votes) works fine until enough people hit it at once — then it becomes a bottleneck that slows down or breaks your whole app. The fix isn’t a bigger database, it’s splitting the count into several pieces that get…

Continue Reading
architecture

Designing a Distributed Job Scheduler: Why “Just Use Cron” Doesn’t Scale

josedacruz, August 26, 2026August 26, 2026

TL;DR: A single cron job looks simple until the server it lives on goes down, and “just add a second cron server” quietly turns into a duplicate-execution bug. A real distributed job scheduler needs a shared source of truth for what’s due, a way for exactly one worker to claim…

Continue Reading
architecture

Designing a Rate Limiter That Survives a Flash Sale: Token Bucket vs Sliding Window

josedacruz, August 13, 2026August 13, 2026

TL;DR: A simple “count requests per minute” rate limiter looks fine in testing but can let through double the traffic right at the boundary between two time windows — exactly when a flash sale or a bot swarm is most likely to hit you. Token bucket and sliding window algorithms…

Continue Reading
architecture

The Outbox Pattern: How to Publish Events Without Losing Them

josedacruz, August 12, 2026August 12, 2026

TL;DR: When a service needs to save something to its database and tell other services about it at the same time, doing those two things separately can silently lose data. The outbox pattern fixes this by writing the “I need to send this event” note into the same database transaction…

Continue Reading
architecture

The Circuit Breaker Pattern: How to Stop One Failing Service from Taking Down Everything Else

josedacruz, August 6, 2026August 6, 2026

TL;DR: A circuit breaker stops your system from calling a service that’s already struggling, so one slow dependency doesn’t drag down everything connected to it. It works by watching for failures, “tripping” to block calls once things get bad, and then carefully testing whether the dependency has recovered before letting…

Continue Reading
architecture

How Distributed Locks Actually Work (And Why They’re Harder Than They Look)

josedacruz, August 5, 2026August 5, 2026

TL;DR: A distributed lock stops two servers from doing the same risky thing at the same time, like selling the last concert ticket twice. The tricky part isn’t getting the lock — it’s what happens if the worker holding it crashes, freezes, or runs slower than expected. Get the timeout…

Continue Reading
architecture

How Instagram-Style Feeds Work: Fan-Out on Write vs. Fan-Out on Read

josedacruz, August 2, 2026August 2, 2026

Imagine you’re on the backend team at a small photo-sharing app called Snapstream. Every user has a home feed: a scrolling list of photos from the people they follow, newest first. For your first 10,000 users, this is easy. For your next 10 million, it turns into one of the…

Continue Reading
  • architecture (154)
  • artificial-intelligence (6)
  • books (2)
  • courses (4)
  • decision-frameworks (4)
  • finances (1)
  • java (8)
  • life-improvement (20)
  • metrics (3)
  • observability (2)
  • puzzles and challenges (3)
  • reviews (1)
  • security (8)
  • spring-boot (36)
  • Systems Thinking (3)
  • GitHub Weekly: MCP Tools Trending Right Now (September 28 – October 4, 2026)
  • The Bulkhead Pattern: Why One Slow Dependency Shouldn’t Sink the Whole Ship
  • Essential Reading: A Philosophy of Software Design — Fighting Complexity One Module at a Time
  • GitHub Weekly: Top 10 Trending Repos (September 21 – September 27, 2026)
  • The Volunteer Tax: Why Raising Your Hand in a Meeting Makes You the Permanent Owner
©2026 José da Cruz | WordPress Theme by SuperbThemes