SERIES

System Design .NET A -> Z

A practical, .NET-first guide to system design. Twenty-six chapters that start from real interview questions and production symptoms, then walk through the architecture, the back-of-envelope numbers, and the concrete ASP.NET Core / EF Core / Redis / message-queue code that makes them work. Read one chapter when you have a problem in front of you, or read in order from foundations to nine end-to-end case studies. Available in English and Vietnamese.

26 articles · 6 groups · .NET 10 · EN / VI

Overview (3)

Foundations (3)

Building Blocks (6)

Reliability (3)

Observability & Ops (2)

Case Studies (9)

15
Design a URL Shortener (TinyURL/Bitly) in .NET

End-to-end design for a URL shortener: capacity estimation, base62 encoding, Postgres + Redis storage, click analytics, and the ASP.NET Core code that ties it together.

Intermediate 5 min read
16
Design a Distributed Rate Limiter (Token Bucket on Redis)

End-to-end design of a distributed rate limiter: token bucket vs sliding window vs fixed window, Lua atomic scripts on Redis, and the .NET wrapper used by every service.

Advanced 5 min read
17
Design a News Feed (Twitter Timeline) in .NET

Fan-out on write vs fan-out on read, the celebrity problem, and how to build a Twitter-style timeline service in .NET with Postgres + Redis + Kafka.

Advanced 5 min read
18
Design a Realtime Chat with SignalR in .NET

How to build a realtime chat service in .NET with SignalR: WebSocket fan-out, Redis backplane for scale-out, presence tracking, and message ordering across rooms.

Advanced 5 min read
19
Design a Multi-Channel Notification System in .NET

How to build a notification service in .NET: email, SMS, push channels, preference store, deduplication, and the queue pipeline that delivers reliably.

Intermediate 4 min read
20
Design a File Upload Service in .NET (Chunked, Resumable)

How to build a file upload service in .NET: presigned URLs, chunked resumable uploads to Azure Blob or S3, virus scanning pipeline, and metadata in Postgres.

Intermediate 5 min read
21
Design a Typeahead Autocomplete (Search-as-You-Type)

How to build search-as-you-type autocomplete in .NET: trie data structure, Redis sorted set rankings, debouncing on the client, and freshness via streaming updates.

Advanced 5 min read
22
Design a Payment Checkout System (Idempotent, Saga-Based)

How to build a payment system in .NET: idempotency keys, saga orchestration, double-charge prevention, refund flow, and integration with Stripe/Adyen.

Advanced 5 min read
23
Design an Analytics Events Pipeline (Kafka + ClickHouse)

How to build an event analytics pipeline in .NET: SDK ingestion, Kafka streaming, schema evolution, ClickHouse for OLAP, and the lambda architecture trade-offs.

Advanced 5 min read