← all posts

grep "#distributed-systems" posts/*

8 results

Why WebSockets Aren't Always the Best Choice for Real-Time Communication

The hidden costs of WebSockets — persistent connections, scaling nightmares, server bills, and when simpler alternatives like SSE or polling actually win.

architecturebackenddistributed-systems

Designing Systems That Survive Production Traffic

Patterns for building systems that handle real-world traffic — load shedding, circuit breaking, graceful degradation, and capacity planning.

architecturebackenddistributed-systems

Production Patterns for Event-Driven Systems in Go

Battle-tested patterns for running event-driven Go systems in production — transactional outbox, consumer groups, event replay, and schema evolution.

godistributed-systemsarchitecture

Designing a High-Throughput Event Processing Pipeline in Go

Architecture and implementation of a Go event pipeline handling millions of events — fan-out, batching, buffering, and backpressure.

godistributed-systemsperformance

Handling Partial Failures in Distributed Go Systems

Strategies for dealing with partial failures in Go — circuit breakers, retry budgets, fallbacks, and the Saga pattern for distributed transactions.

godistributed-systemsarchitecture

Lessons from Building Event-Driven Microservices in Go

Practical lessons on event schemas, eventual consistency, idempotent consumers, and the realities of building event-driven systems in Go.

gomicroservicesdistributed-systemsarchitecture

Designing a Distributed Task Queue in Go from Scratch

How I built a distributed task queue in Go with priority scheduling, retries, dead-letter queues, and horizontal scaling.

godistributed-systemsarchitecture

Request Context Propagation in Node.js Microservices

How to trace requests across services using AsyncLocalStorage, correlation IDs, and OpenTelemetry in a Node.js microservices architecture.

nodejsmicroservicesdistributed-systemsobservability